本帖最后由 cqc520 于 2020-6-3 11:19 编辑
前言
最近由于学业需要,就找到一款数学计算器,但是运行需要G框架,还不能跳过,就很烦。
去网上找没找到较新版的,于是,就下手了。。
这个逻辑一般就是:
打开APP-->判断GP服务是否存在-->存在[提示],不存在[正常使用]
所以,欺骗一下软件:我存在GP服务
MT管理器2.9 or others
开始了
寻找触发位置
打开MT的Activity 工具
MT的Activity
打开目标APP
app
emmm...竟然没有出现想要的东西{:1_896:} ,不慌,点一下确定~
Activity
哈哈,还是被我抓到了吧。:Dweeqw
这里记录一下,提示框的Activity 是NoPlayServicesActivity
搞掉提示框
MT对classes.dex搜索代码NoPlayServicesActivity
SearchRet
根据命名,显然要处理的是LauncherActivity ,进入它
Smali Version |
Java Version(清爽版) |
smali
|
JAVA
|
观察选中区域(NoPlayServicesActivity 在第1390行,选中区域是它所属的代码块)
z2的只代表是否存在GP服务,不存在就是false、存在就是true
所以,只要把!z2改成z2就可以了,
但是我们动不了java代码,只能从smali下手,于是:
不难发现if(!z2){ 所在行对应if-nez v2, :cond_b8 (都有一个if,所以看一下就知道啦)
这里需要了解一下smali部分语法:
if-nez vA, :cond_**" 如果vA不等于0则跳转到:cond_**
而他的孪生兄弟是:
if-eqz vA, :cond_**" 如果vA等于0则跳转到:cond_**
因此,把if-nez 改成if-eqz
Handle
保存,编译,签名,安装,一气呵成
测试
直接打开,Success!{:301_993:}
test
来个简单积分
积分
4.结束
其实我对这方面没学过,就靠自己的知识和网上的资料现学现用;
所以,要是有遇到问题想问我,我可能回答不了{:1_924:} 。
写着篇文章就是为了方便像我一样临时解决问题的人用的。
对了,有人可能会注意到截图为什么命名有个kill在里面,那是去软件签名验证的结果。
文字没有程序名,不知道图片需不需要打码,感觉有点麻烦就没处理了{:1_924:}
郁闷,本来想用MD的图片功能,但是这样坛子把图片变成附件了,现在删不掉附件了:'(weeqw |