吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5075|回复: 40
上一主题 下一主题
收起左侧

[Android 分享] Unity3D+il2cpp游戏 某荒野生存游戏逆向过程 仅过隐私政策、实名认证、正版授权

  [复制链接]
跳转到指定楼层
楼主
纸条 发表于 2023-12-11 10:53 回帖奖励
本帖最后由 纸条 于 2023-12-13 16:18 编辑

刚学完逆向搞的,没啥技术含量,包含完成整过程所以图比较多。

实现

去除启动界面隐私政策
去除身份实名验证
去除正版授权验证(凭感觉)

AndroidKiller反编译

直接拖到AndroidKiller反编译,反编译不成功是工具太老了。

去除启动界面隐私政策




直接搜索对应的文字:





往上找到跳转:





判断条件直接改成 goto,跳过隐私政策:




Il2CppDumper逆向

复制libil2cpp.so、global-metadata.dat到i文件夹下,逆向得到相关文件。具体以实际路径为准。

Il2CppDumper.exe ./i/libil2cpp.so ./i/global-metadata.dat o

得到这些





IDA修改

用大姐姐打开libil2cpp.so文件,等待加载完成,这里不动就加载完了





下边的执行脚本步骤感谢论坛大佬 mlgmxyysd 的分析文章。
选择脚本文件:





选择 IL2CppDumper 里的 ida_py3.py ,选择分析出的 stringliteral.json





等脚本跑完再次执行脚本,选择 ida_with_struct_py3.py,然后分别选择分析出来的 script.json 和 il2cpp.h,脚本运行时间比较长,让 IDA 先在后台跑。





去除身份实名验证

使用编辑器打开Il2CppDumper逆向得到的stringliteral.json文件。
搜索 验证错误 :





对应这个地址:




大姐姐按G键跳转到地址:




就是这段代码了




右键点击 List cross references to… 来列出字符串的交叉引用。




直觉告诉我是第二个




OK按钮后跳转到这里




按空格键查看代码执行流程,可以看到做了某些判断,如果不成立就执行验证错误这段代码




没学过汇编看不懂什么意思,让AI帮看一下:

CBZ X0, loc_1A749C0:
● CBZ 是 Compare and Branch on Zero(比较并在零时跳转)的缩写,它会检查寄存器的值是否为零。
● X0 是要检查的寄存器,如果其值为零,则跳转到 loc_1A749C0 处执行代码。
那么直接给寄存器赋值为0,那是不是跳转过去了呢?
LDR X0, [X20,#0xA0]:
● LDR 是 Load Register(加载寄存器)的缩写,它将从内存中加载数据到寄存器。
● X0 是目标寄存器,[X20,#0xA0] 是源地址,表示从 X20 + 0xA0 的地址加载数据到 X0 寄存器。

空格切换回来,鼠标光标停留在LDR这一行




直接修改这一段为MOV X0, #0 ,就是将寄存器X0的值修改为0




点击后是这样的




修改改为MOV X0, #0  回车确认修改






保存so文件





保存编译运行,失败了,但是错误验证提示没了,说明思路没问题,距离成功又近了一步。




看看验证成功后是什么样的,输入真实的身份证进行认证,这个是认证之后的,函数是PeopleModeManager$$OpenChoseBoard






回到验证错误这里,空格再次查看执行流程,出现错误的话跳过了认证成功的代码,所以改这里是没用的。




不出现错误的话就一直循环执行认证的代码,所以修改这里也是不对的



往上翻到最上边验证错误分支这里,这里判断寄存器是否为0,如果不为0就跳转到上边图中验证错误的代码。那么这里直接让他跳转到另一段代码就好了。




直接把TBZ             W0, #0, loc_1A748C0 修改为 B               loc_1A748C0 直接跳过验证错误的这段代码




打包运行看看效果




隐私、认证跳过去了,然后内购、正版验证下边就无解了,没有对应的代码,求大佬支个招。





去除正版授权验证(凭感觉)

可以直接CTRL + F 搜索“保存打包运行,失败了”跳过失败的步骤。忽然来了灵感,搜索跳转链接的地址

{
  "value": "https://www.taptap.com/app/147513",
  "address": "0x24349F0"
},

一样的,详细步骤都在上边了。




搜索到三个函数,前两个看起来是跳转到链接,第三个是获取链接,这里就有意思了,为什么这么说,因为一定是某个原因导致他要获取下载正版APP的链接,只要往上追踪,不就可以跳过了(正版授权)吗?




往上翻,第一个跳转在这里,但是在上边还存在跳转,从左边的虚线、箭头的函数可以看出来。




继续往上翻,都是包含GetAppStoreUrl函数的,翻到这里就是跳转开始的地方




空格键切换到代码执行流程




不成功跳转到下方图片函数这里




这里的函数又做了一个判断,成功了跳转出打开链接的所有函数。




看到这里恍然大悟,这一大片都是执行打开链接的函数,钻了个牛角尖。继续回到最原始的问题,刚刚空格切换过来的地方,为什么会获取链接?[b]BL 是 Branch with Link 的缩写,同样用于函数调用。看到这两个函数,再结合下边一大片获取链接的函数,我是不是可以理解为未解包和解包?未逆向和逆向?




直接修改跳转到未解包应该跳转的代码loc_14F9964,对应的截图可以看往上数第二张图红框部分。




保存打包运行,失败了,真是奇了怪了。



但是我们的ARM 指令在共享库中是按照其出现的顺序执行的。当程序调用库中的函数时,操作系统将加载该共享库,并按照函数的入口地址开始执行其中的指令。所以直接在ARM指令界面这里鼠标继续往上翻,能看到一些GoToTheGameDownloadForBroken、GetBugCodeUrl、GetUpdateInfoUrl等等函数。一直到看到这个函数,GetLaiyuan,当时是理解为获取来源,来源,来源,可能就是这里...





直接空格,直接拖动到最上边的代码分支,又看到熟悉的两个函数





直接改成跳转到成功的地方




打包运行,成功了。




有空继续看看内购的。


结束 附SO文件

下边是对应的so文件,大佬一可以帮看看内购的:

https://www.123pan.com/s/ZbN8Vv-M52od.html 提取码:Y4bb



下边只是图片,不用看,不知道为啥显示在这里。

image.png (100.64 KB, 下载次数: 0)

image.png

image.png (83.66 KB, 下载次数: 0)

image.png

image.png (122.8 KB, 下载次数: 0)

image.png

image.png (77.61 KB, 下载次数: 0)

image.png

image.png (121 KB, 下载次数: 0)

image.png

image.png (72.25 KB, 下载次数: 0)

image.png

image.png (142.84 KB, 下载次数: 0)

image.png

29.png (78.07 KB, 下载次数: 0)

29.png

28.png (72.14 KB, 下载次数: 0)

28.png

27.png (85.78 KB, 下载次数: 0)

27.png

26.png (93.99 KB, 下载次数: 0)

26.png

25.png (240.62 KB, 下载次数: 0)

25.png

24.gif (195.29 KB, 下载次数: 0)

24.gif

23.png (257.13 KB, 下载次数: 0)

23.png

22.png (267.24 KB, 下载次数: 0)

22.png

21.png (264.86 KB, 下载次数: 0)

21.png

20.png (309.55 KB, 下载次数: 0)

20.png

19.png (120.23 KB, 下载次数: 0)

19.png

18.png (83.15 KB, 下载次数: 0)

18.png

17.png (109.88 KB, 下载次数: 0)

17.png

16.png (89.82 KB, 下载次数: 0)

16.png

15.png (236.07 KB, 下载次数: 0)

15.png

14.png (242.98 KB, 下载次数: 0)

14.png

13.png (211.81 KB, 下载次数: 0)

13.png

12.png (179.05 KB, 下载次数: 0)

12.png

11.png (317.04 KB, 下载次数: 0)

11.png

10.png (84.2 KB, 下载次数: 0)

10.png

9.png (34.72 KB, 下载次数: 0)

9.png

30.gif (2.08 MB, 下载次数: 0)

30.gif

7.png (35.43 KB, 下载次数: 0)

7.png

6.png (245.95 KB, 下载次数: 0)

6.png

5.png (27.33 KB, 下载次数: 0)

5.png

4.png (114.84 KB, 下载次数: 0)

4.png

3.png (118.88 KB, 下载次数: 0)

3.png

2.png (162.27 KB, 下载次数: 0)

2.png

1.png (197.39 KB, 下载次数: 0)

1.png

8.png (56.13 KB, 下载次数: 0)

8.png

image.png (80.8 KB, 下载次数: 0)

image.png

image.png (112.33 KB, 下载次数: 0)

image.png

image.png (102.69 KB, 下载次数: 0)

image.png

image.png (81.59 KB, 下载次数: 0)

image.png

image.png (112.61 KB, 下载次数: 0)

image.png

image.png (116.16 KB, 下载次数: 0)

image.png

GIF.gif (925.14 KB, 下载次数: 0)

GIF.gif

免费评分

参与人数 16威望 +1 吾爱币 +36 热心值 +15 收起 理由
xiaomihu666 + 1 我很赞同!
woofhat + 1 + 1 我很赞同!
CrazyNut + 3 + 1 现在有AI帮忙读代码简直不要太舒服
l254576343 + 1 + 1 我很赞同!
janken + 1 + 1 谢谢@Thanks!
tb612443 + 1 + 1 我很赞同!
cooleephone + 1 + 1 热心回复!
笨笨家的唯一 + 1 + 1 我很赞同!
tmsq + 1 + 1 我很赞同!
onething + 1 + 1 我很赞同!
wclssdn + 1 + 1 用心讨论,共获提升!
ghostwindows + 1 用心讨论,共获提升!
yiqibufenli + 1 + 1 热心回复!
arctan1 + 1 + 1 我很赞同!
正己 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
gunxsword + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
 楼主| 纸条 发表于 2023-12-11 22:36 |楼主
芽衣 发表于 2023-12-11 15:21
内购是签名验证问题,肯定无解。估计要调用支付宝或者微信

谢谢大佬!18年有大佬整过,不知道是不是同一个方法,当时他整的是过正版,那时候还没内购,不知道他是怎么弄的,因为这里搜不到方法了,不知道是动态的还是怎么的
推荐
Hmily 发表于 2023-12-11 12:04
尽快修改一下你的帖子贴图,因为你方法用错了,图片会很快失效,参考这个方法贴图:https://www.52pojie.cn/misc.php? ... 29&messageid=36
3#
芽衣 发表于 2023-12-11 15:21
内购是签名验证问题,肯定无解。估计要调用支付宝或者微信
4#
tulei2522563 发表于 2023-12-11 15:45
感谢大神的教程
5#
zw8861 发表于 2023-12-11 16:56
学习学习,有点复杂
6#
ldecxh 发表于 2023-12-11 19:13
Il2CppDumper逆向得到的stringliteral.json,好像失败了。哦哦不对前面我弄错了
7#
ts73033 发表于 2023-12-11 19:28
论坛有你更精彩
8#
aa361328 发表于 2023-12-11 19:32
这么多图~~~~~~~~~~~
9#
叼烟的声音 发表于 2023-12-11 20:43
虽然图挺乱,我竟然耐心看完了。。。
10#
fnckyon2014 发表于 2023-12-11 21:05
学习学习,有点复杂
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-7 13:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表