《教我兄弟学Android逆向》02的课后作业。
教程笔记
关于AndroidKiller
问题1
如果将APK拖进AndroidKiller中进行分析,可能会出现AndroidKiller卡在如下图所示的状态中的情况。此时先关闭AndroidKiller,然后重新打开软件,双击APK历史工程里面要打开的这个APK即可。

问题2
在AndroidKiller中修改完smali代码后一定要ctrl+s保存,不然编译生成APK程序时AndroidKiller还是拿原来的smali代码编译的。
要求
跟随此贴的教程完成破解。
实际完成
主要思路
- 通过在线Unicode和中文转换,获取可能的关键词“支付成功”的对应Unicode值
\u652f\u4ed8\u6210\u529f,然后在AndroidKiller中搜索该关键词可得到如图所示结果。

- 在该smali文件中发现了2个可疑的方法
onSuccess和onFailure,将方法onFailure中的代码全部替换为方法onSuccess中的代码,即可成功破解该APK。
拓展及思考
拓展
后续可以考虑分析破解最新版的该应用程序,看看会不会有难度上的提升。
思考
除了本文中直接替换关键方法代码的办法外,还可以从对方法的调用上进行修改,也就是说,将对方法onFailure的调用都改为对方法onSuccess的调用。其中一种比较普遍的情况是改变调用支付成功和失败的方法的switch操作,如此教程。