教我兄弟学Android逆向02-课后作业

《教我兄弟学Android逆向》02的课后作业。

教程笔记

关于AndroidKiller

问题1

如果将APK拖进AndroidKiller中进行分析,可能会出现AndroidKiller卡在如下图所示的状态中的情况。此时先关闭AndroidKiller,然后重新打开软件,双击APK历史工程里面要打开的这个APK即可。

问题2

AndroidKiller中修改完smali代码后一定要ctrl+s保存,不然编译生成APK程序时AndroidKiller还是拿原来的smali代码编译的。

要求

跟随此贴的教程完成破解。

实际完成

主要思路

  1. 通过在线Unicode和中文转换,获取可能的关键词“支付成功”的对应Unicode值\u652f\u4ed8\u6210\u529f,然后在AndroidKiller中搜索该关键词可得到如图所示结果。

  1. 在该smali文件中发现了2个可疑的方法onSuccessonFailure,将方法onFailure中的代码全部替换为方法onSuccess中的代码,即可成功破解该APK。

拓展及思考

拓展

后续可以考虑分析破解最新版的该应用程序,看看会不会有难度上的提升。

思考

除了本文中直接替换关键方法代码的办法外,还可以从对方法的调用上进行修改,也就是说,将对方法onFailure的调用都改为对方法onSuccess的调用。其中一种比较普遍的情况是改变调用支付成功和失败的方法的switch操作,如此教程