《教我兄弟学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操作,如此教程。