Android 逆向工程 —— Crackme 系列 crack
2017-02-13 本文已影响823人
半人前
crackme-one 传送门
crackme-two 传送门
crackme-three 传送门
crackme-four 传送门
crackme-five 的破解思路和 crackme-one 和 crackme-two 差不多,不同的地方在于 crackme-five 把字符串都存在了资源文件里
首先尝试错误的输入,弹出错误提示 “Sorry, that wasn't correct”,搜索该字符串,找到该字符串对应的名称为 “string_challenge_five_lose”
![](https://img.haomeiwen.com/i1999562/0d5b5fe3865a6a9f.png)
搜索该名称,找到其对应的 id
![](http://upload-images.jianshu.io/upload_images/1999562-2419f4ffdffe2d79.png)
再次搜索该 id,找到代码中引用这个 id 的地方
![](http://upload-images.jianshu.io/upload_images/1999562-4cde77125a008632.png)
发现引用这个 id 的代码是在 cond_1 标签下的,也就是说当条件满足跳转到 cond_1 时,就会显示提示输入错误的信息
找到判断是否跳转的代码
![](http://upload-images.jianshu.io/upload_images/1999562-08185467c810c111.png)
分析后得知跳转的条件是两个字符串不相等,而相比的两个字符串刚好是从 EditText 获取到的字符串和 id 为 0x7f0a000e 的字符串,找到这个字符串
![](http://upload-images.jianshu.io/upload_images/1999562-36ae989b071ba718.png)
![](http://upload-images.jianshu.io/upload_images/1999562-421ae67c2b13e5f9.png)
输入 “eight”,成功