[Andriod逆向]PhotoMath去谷歌服务检测弹窗 | 祭夜博客
  • 欢迎光临,这个博客颜色有点多

[Andriod逆向]PhotoMath去谷歌服务检测弹窗

Android msojocs 4年前 (2020-06-03) 2407次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

前言

最近由于学业需要,就找到一款数学计算器,但是运行需要G框架,还不能跳过,就很烦。
去网上找没找到较新版的,

于是,就下手了。。

这个逻辑一般就是:

打开APP–>判断GP服务是否存在–>存在[提示],不存在[正常使用]
所以,欺骗一下软件:我存在GP服务

 

TOOLS

MT管理器2.9 or others

开始了

1.寻找触发位置

打开MT的Activity工具
[Andriod逆向]PhotoMath去谷歌服务检测弹窗
打开目标APP
[Andriod逆向]PhotoMath去谷歌服务检测弹窗
emmm…竟然没有出现想要的东西,不慌,点一下确定~
[Andriod逆向]PhotoMath去谷歌服务检测弹窗
哈哈,还是被我抓到了吧。
这里记录一下,提示框的ActivityNoPlayServicesActivity

2.搞掉提示框

MT对classes.dex搜索代码NoPlayServicesActivity
[Andriod逆向]PhotoMath去谷歌服务检测弹窗

根据命名,显然要处理的是LauncherActivity,进入它

 

Smali VersionJava Version(清爽版)
[Andriod逆向]PhotoMath去谷歌服务检测弹窗[Andriod逆向]PhotoMath去谷歌服务检测弹窗

观察选中区域(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
[Andriod逆向]PhotoMath去谷歌服务检测弹窗
保存,编译,签名,安装,一气呵成

3.测试

直接打开,Success!
[Andriod逆向]PhotoMath去谷歌服务检测弹窗来个简单积分:

[Andriod逆向]PhotoMath去谷歌服务检测弹窗

额外的补充—提示框的触发条件

[Andriod逆向]PhotoMath去谷歌服务检测弹窗
观察上面代码,我们来倒推一下:
假设有框架不出现提示,那么!z2 == falsez2 == true;
但在第398行z2 = false也就是初始值为false
所以,中间z2被修改了,而这个条件就是430行的h.f.a.c.e.c.d中的a方法

追溯到该方法:

[Andriod逆向]PhotoMath去谷歌服务检测弹窗

可以看到这是根据isGooglePlayServicesAvailable的判断情况来返回值的,这与我们的预期设想是相同的。

 

完了=_=


祭夜の咖啡馆 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:[Andriod逆向]PhotoMath去谷歌服务检测弹窗
喜欢 (0)
[1690127128@qq.com]
分享 (0)
发表我的评论
取消评论
OwO表情
贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址