新手安卓逆向破解常规思路
本帖最后由 Airey 于 2021-1-27 23:58 编辑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代码
.line 20
iget-boolean v1, p0, Lcom/hba/Testapplication/MainActivity;->flag:Z
const/4 v2, 0x0
if-eqz v1, :cond_0
.line 21
invoke-static {}, Lcom/hba/Testapplication/DateUtils;->getTime()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 23
iget-object v0, p0, Lcom/hba/Testapplication/MainActivity;->tv:Landroid/widget/TextView;
invoke-virtual {v0, v2}, Landroid/widget/TextView;->setVisibility(I)V
goto :goto_0
.line 25
:cond_0
invoke-virtual {v0, v2}, Landroid/widget/TextView;->setVisibility(I)V
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,安装即可。
成功!
用到的工具下载地址:
apk逆向工具:https://y6blnu1l.lanzouj.com/b0dkmcung密码:e7jc
电脑apk逆向工具:
https://y6blnu1l.lanzouj.com/b0dkmcvdc
密码:bqnp
本帖最后由 Airey 于 2021-1-28 12:57 编辑
米饭大师 发表于 2021-1-27 23:59
新版360反射还能成功吗
我用的3.5版本的反射大师,然后逆向的是最新版藏x馆app,表示可以脱到一些,安装后会闪退,可能没脱干净,也有可能我没修复dex的原因。 yyyg8 发表于 2022-1-16 20:59
链接都挂了啊大神能补个么
电脑apk逆向工具:
https://y6blnu1l.lanzout.com/b0dkmcvdc
密码:bqnp
apk逆向工具:https://y6blnu1l.lanzout.com/b0dkmcung密码:e7jc 新版360反射还能成功吗 感谢分享,虽然有些看不懂 手游脚本时间限制能破解吗? 感谢分享!! 支持,全套分享软件的已经很不容易了,一个mt,去分析代码其实就能破很多软件了,只是要搞懂smali的逻辑,新手可以转换成java更好懂一些 感谢分享,很好的思路提供教程,还提供了工具的下载。期待后期能更新更多的细节,比如脱壳、脱壳后的DEX修复等等教程 谢谢,想入门了 感谢分享,但有一个地方还看不懂,复制到该类那个地方看不懂
页:
[1]
2