- 去除账号验证
- 去除实名认证
## 环境准备
- MT管理器/NP管理器
- JEB/jadx(非必须)
- 模拟器/安卓手机
- root (否)
目标APP
APP链接:aHR0cHM6Ly9wYW4uYmFpZHUuY29tL3MvMU5ycGVyQXBxTzVCcUdPREtudzFMWnc/cHdkPW9idDg=
## 破解步骤
### 绕过账号验证
开启MT管理器的Activity记录功能
[i]
启动成功后打开我们需要破解的APP,他会启动游戏平台验证账号,我们回到游戏就会看到下面的页面
[i]
进入MT管理器查看记录,最后的一个活动是 com.txxxxx.pay.sdk.library.TxxAlertDialog$1,那我们从它开始入手。
[i]
找到这个类 com.txxxxx.pay.sdk.library.TxxAlertDialog
[i]
我们得到new它的地方。
[i]
进入并分析一下。
[i]
搜索一下哪里调用了销毁弹窗,验证通过必定需要销毁,找起来更快。
[i]
进入分析一下。
[i]
看看哪里还个调用了
[i]
这里我验证过了,修改它们即可去除验证。
[i]
快速定位关键字`checkLicense = licensed`(不出意外只有一个结果)
然后搜索定位函数 checkLicense
在smali代码中修改对应的值就能去除验证了。
[i]
重新签名安装后启动看看效果吧。
### 绕过实名认证
开启MT管理器的Activity记录功能,然后启动APP弹出实名弹窗之后回到MT管理器,可以看到只有一个Activity -> `com.lixxthgame.abi.UnityPlayerActivity`
[i]
在 UnityPlayerActivity 中并没发现什么可疑的地方,那就得找新的办法了。
我们来试试新的关键字 "identify",需要实名认证,估计会使用这个单词。
[i]
看看这个IdentifyHelp类是干什么用的。
IdentifyHelp中有个方法 CompareTimeUp18 翻译过来就是 对比年龄到18(估计是用出生日期和当前时间对比)
[i]
看看那些地方调用了CompareTimeUp18
[i]
选择第一个,进入到方法antiAddication,分析一下。同意分析一下调用了antiAddication的doIdenfity方法
[i]
进入setBigMan或setIdenfity中
[i]
将isBigMan和isIdenfity的初始值置为true即可去实名认证了。
[i]
在smali代码中修改对应的值就能去除验证了。
快速定位关键字 `LoaclUser{name=` (不出意外只有一个结果)
搜索定位 isIdenfity
[i]