失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 新手安卓逆向破解常规思路

新手安卓逆向破解常规思路

时间:2019-04-03 14:05:38

相关推荐

新手安卓逆向破解常规思路

1、首先逆向一款app软件,先查看是否加固(MT管理器或者ApkScan查壳等工具查看)

2、若被加固(360加固等),可以使反射大师apk进行脱壳。(此处暂时不详细讲)

3、分析代码,可使用jadx工具查看app源码。

4、修改代码,此处代码为smali代码,可使用AndroidKiller工具修改。

这里讲关于修改app会员的方法【注:不会与服务端做校验前提下】

我用自己写的app做为例子,假设这里就是当前会员时间

然后打开SDK文件夹下tools文件夹里面monitor.bat,如图所示

可以看到时间显示id,这时候使用jadx查看源码分析,将APK拖入jadx中,如图所示,

此时我们搜索刚才查看到的id名字,可以看到被编译后的代码,我们选中一个逐步分析。

可见这里有关于时间代码,因为这里是假设,此处flag就是用于模拟服务端是否有会员,因为这里写flag为false,则显示当前会员时间。

此时用AndroidKiller工具对apk进行反编译,进行分析smali代码

iget-boolean v1, p0, Lcom/hba/Testapplication/MainActivity;->flag:Z 这个以意思就是flag的值给p0,然后p0给v1

if-eqz v1, :cond_0 判断v1,如果v1为true则继续执行下面的代码,否则跳转到 cond_0 处

因为这里flag为假,则跳转到这里

:cond_0

invoke-virtual {v0, v2}, Landroid/widget/TextView;->setVisibility(I)V

修改会员思路

第一步,让flag为true,只需要修改v1,在if-eqz上面一行写上 const/4 v1,0x1 即可。

第二步,修改时间,因为不与后端服务器做校验,只需要修改代码生成的时间

这个我写了个date的工具类,如图所示

然后将java代码转变成smali代码,这里用到的工具为java2smali 工具

然后将这段代码粘贴到该类里面

修改的代码改成如下,即可

然后保存编译打包成apk,安装即可。

成功!

如果觉得《新手安卓逆向破解常规思路》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。