利用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代码中的该字符串然后重打包签名
[*]改完之后发现弹框里面的该字符串也被修改了,再一次证实此处就是控制该弹框的代码
[*]因为只有这一个分支是不会执行到展示这段字符串的代码的,所以尝试将展示这段字符串的代码替换成该分支的代码
[*]效果展示,成功!
修改前
修改后 啊, 真难, 编辑的时候图片都能看到,发出来就看不到了, 也找不到删除按钮, 麻烦管理员删了吧,我有空重新发 不容易的发帖子 这是从别处复制过来的吗?帖子源代码看着不像是在编辑器写出来的,图片应该也是外链复制的吧? Shark恒 发表于 2022-1-5 16:39
这是从别处复制过来的吗?帖子源代码看着不像是在编辑器写出来的,图片应该也是外链复制的吧? ...
从私有的石墨文档里面复制过来的, 我自己前些日子写的一个过程 init_crack 发表于 2022-1-5 17:09
从私有的石墨文档里面复制过来的, 我自己前些日子写的一个过程
图片单独上传,插入就可以了 感谢分享,小白来学习 感谢分享,第一次发帖没图片? 可惜了,图片 谢谢楼主,评分送上