【技术教程】手机实现逆向so文件,u3d游戏教程

优选教程   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-7-4

少壮不努力,长大靠翻译!

前言:功劳在Il2CppDumper推出了安卓版,也就是手机上也可以解压dump.cs文件,结合对so修改知识的基础上,实现so文件修改。

但是,手机上的so修改只是对于一些基础上的修改,分析不够全面,缺点比较大;复杂的修改过程还要从ida里面分析.....

这里我就介绍一些可以直接分析修改的:

1.暴力赋值,也就是常见的改返回值,get_coin这些int,long整型的方法。

2.赋值布尔值,bool这些,通常用于解锁,购买是否足够: isunlock,canbuy,

3.一些比较特殊的,直接ret结束掉。

4.等等,老手可能就会更多种的改法.....

准备工具:
1.Il2CppDumper(安卓版)
2.mt管理器
3.十六进制编辑器(mt没会员就用这个)
4.arm指令转换器地址:

本帖含有隐藏内容,请您 回复 后查看


工具下载地址:
本帖含有隐藏内容,请您 回复 后查看

密码:1111

开整!

1.先进入游戏捕捉信息,尝试修改货币,发现有两种货币,可以尝试搜:gold,coin(金币,黄金),gem,diamond(宝石,钻石)

2.将游戏里的 global-metadata.dat,libil2cpp.so文件复制到一个你能找到的路径,我为了方便快速找到,直接创建了新的“1”文件夹。

3.打开Il2CppDumper,找到so文件,点击并打开。

4.输入“y”确认。

5.点击 CHOOSE CURRENT FOLDER 创建执行。

6.解压好的dump.cs文件存放路径,用文本打开,这样就能愉快分析dump.cs了~

7.图片放不下了,楼下继续更新.....

7.修改货币,搜索diamond,找到一个 get_diamond,long型,也属于整型可以直接赋值。往上翻,找到开头,确认一下方法类型 GameData (译:游戏数据),断定就是这个方法了。复制汇编地址:0xACDC84,十六进制跳转修改即可。

8.因为so属于arm64位,所以要输入64位的机器码:

MOV W0, #9999—— E0 E1 84 52
RET —— C0 03 5F D6

如果觉得9999数值不够大,可以输入6个F的值(16777215):

MOV W0, #FFFFFF—— 00 E0 BF 12
RET —— C0 03 5F D6

arm32位机器码:

MOV R0, #9999 —— 0F 07 02 E3
BX LR —— 1E FF 2F E1

大点的值(38797012):25 06 A0 E3 1E FF 2F E1

10,继续,修改敌人不会攻击,搜 attack,找到僵尸控制类型,十有八九就是这个方法。

11.直接RET结束掉,原理就是执行攻击函数的时候不会有任何的逻辑操作,达到不会攻击效果。
RET——C0 03 5F D5

arm32位:
BX LR —— 1E FF 2F E1

5楼
末世ψ孤傲 2022-7-4
非常精彩[滑稽]
6楼
心机 2022-7-4
大佬NB,支持支持!!
7楼
葫侠魔 2022-7-4
2看看呗 66
那个float类型代码咋转32位
9.测试效果。

10楼
真小实 2022-7-4
看不懂的教程+1

评论

登录后才可发表内容
  • 主题

    217

  • 帖子

    349

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0512s Mem:2062Kb