破解tap验证和绕过实名认证

# 案例目标

  • 去除账号验证
  • 去除实名认证

# 环境准备

  • MT 管理器 / NP 管理器
  • JEB/jadx(非必须)
  • 模拟器 / 安卓手机
  • root (否)
  • 目标 APP

# 破解步骤

# 绕过账号验证

开启 MT 管理器的 Activity 记录功能
微信截图_20221221135907.png
启动成功后打开我们需要破解的 APP,他会启动游戏平台验证账号,我们回到游戏就会看到下面的页面。
微信截图_20221221140124.png
进入 MT 管理器查看记录,最后的一个活动是 com.txxxxx.pay.sdk.library.TxxAlertDialog$1,那我们从它开始入手。
微信截图_20221221135806.png
找到这个类 com.txxxxx.pay.sdk.library.TxxAlertDialog
微信截图_20221221140729.png
我们得到 new 它的地方。
微信截图_20221221143612.png

进入并分析一下。
微信截图_20221221143852.png
搜索一下哪里调用了销毁弹窗,验证通过必定需要销毁,找起来更快。
微信截图_20221221144127.png
进入分析一下。
微信截图_20221221144342.png
看看哪里还个调用了
微信截图_20221221145005.png
这里我验证过了,修改它们即可去除验证。
微信截图_20221221145500.png

快速定位关键字 checkLicense = licensed (不出意外只有一个结果)
然后搜索定位函数 checkLicense
在 smali 代码中修改对应的值就能去除验证了。
微信截图_20221220183011.png
重新签名安装后启动看看效果吧。

# 绕过实名认证

开启 MT 管理器的 Activity 记录功能,然后启动 APP 弹出实名弹窗之后回到 MT 管理器,可以看到只有一个 Activity -> com.lixxthgame.abi.UnityPlayerActivity
Snipaste_2022-12-21_10-11-13.png
在 UnityPlayerActivity 中并没发现什么可疑的地方,那就得找新的办法了。
我们来试试新的关键字 “identify”,需要实名认证,估计会使用这个单词。
微信截图_20221221112340.png
看看这个 IdentifyHelp 类是干什么用的。

IdentifyHelp 中有个方法 CompareTimeUp18 翻译过来就是 对比年龄到 18(估计是用出生日期和当前时间对比)
微信截图_20221221112821.png
看看那些地方调用了 CompareTimeUp18
微信截图_20221221113824.png
选择第一个,进入到方法 antiAddication,分析一下。
微信截图_20221221120045.png
进入 setBigMan 或 setIdenfity 中
微信截图_20221221115204.png
将 isBigMan 和 isIdenfity 的初始值置为 true 即可去实名认证了。
微信截图_20221221105523.png

在 smali 代码中修改对应的值就能去除验证了。
快速定位关键字 LoaclUser{name= (不出意外只有一个结果)
搜索定位 isIdenfity
微信截图_20221221110343.png