init_crack 发表于 2022-1-5 15:30

利用frida破除某安卓软件的弹窗提示(新手向)

运行环境:
如 WIN10
涉及工具:
如 frida
教程类型:
去掉弹窗
是否讲解思路和原理:


以下为图文内容:

第一次发帖, 有不合适的地方勿喷, 因为软件没有加壳, 就没有脱壳这个步骤了, 也适合新手练手.
现象
旧版应用汇打开会提示需要更新, 如下图,现在需要做的就是不让这个提示更新的东西出来(有时候有些软件不升级就不让用, 所以这个事儿有时候还是有价值的)步骤

[*]反编译apk,没有加固,项目目录如下

[*]对于该弹框里面的非变量的关键字先搜一搜(例如NEW VERSION),运气好没准就直接定位到该弹框的代码了,不过可惜,搜不到,正常一般也都是搜不到的.
[*]安卓弹框一般都是XXXDialog类实现的,尝试搜一下,不过结果太多了不过其中有一个Dialog类非常可疑SelfUpdateActivityDialog

[*]方法太多了无从下手, 尝试hook其所有方法(frida)

[*]然后重新打开应用汇,发现以下方法均被调用

[*]随便找一个方法(例如F1)追踪其调用栈

[*]发现它是由f.a.a.t.h的onCreate方法调用过来的,查看该方法源码,此处就发现了它调用了SelfUpdateActivityDialog的A1方法


[*]对比该段java代码和smali代码
[*]到现在为止可以尝试修改smali代码中“if-eqz”为“if-nez”让它不走A1那个执行流,然后重新打包签名,改完之后确实去掉了更新提示,但是会闪退,所以得另找方法。
[*]继续观察A1方法发现有共同的字符串,尝试修改smali代码中的该字符串然后重打包签名
[*]改完之后发现弹框里面的该字符串也被修改了,再一次证实此处就是控制该弹框的代码


[*]因为只有这一个分支是不会执行到展示这段字符串的代码的,所以尝试将展示这段字符串的代码替换成该分支的代码


[*]效果展示,成功!
修改前
修改后

init_crack 发表于 2022-1-5 15:33

啊, 真难, 编辑的时候图片都能看到,发出来就看不到了, 也找不到删除按钮, 麻烦管理员删了吧,我有空重新发

阿桂哥 发表于 2022-1-5 16:13

不容易的发帖子

Shark恒 发表于 2022-1-5 16:39

这是从别处复制过来的吗?帖子源代码看着不像是在编辑器写出来的,图片应该也是外链复制的吧?

init_crack 发表于 2022-1-5 17:09

Shark恒 发表于 2022-1-5 16:39
这是从别处复制过来的吗?帖子源代码看着不像是在编辑器写出来的,图片应该也是外链复制的吧? ...

从私有的石墨文档里面复制过来的, 我自己前些日子写的一个过程

Shark恒 发表于 2022-1-5 17:40

init_crack 发表于 2022-1-5 17:09
从私有的石墨文档里面复制过来的, 我自己前些日子写的一个过程

图片单独上传,插入就可以了

拿着雪糕 发表于 2022-1-5 20:33

感谢分享,小白来学习

dawntx 发表于 2022-1-6 00:13

感谢分享,第一次发帖没图片?

阿桂哥 发表于 2022-1-6 07:08

可惜了,图片

阿桂哥 发表于 2022-1-6 10:22

谢谢楼主,评分送上
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 利用frida破除某安卓软件的弹窗提示(新手向)