|
吾爱游客
发表于 2019-4-26 16:57
1.申请ID:LIUYUTAO
2.个人邮箱:2719551890@qq.com
3.原创技术文章:
Unity 3d dat 修改
关于dat打包的游戏想必也大家修改游戏的时候也遇过。
准备:
1. dat的Unity3D游戏一个
2. Il2CppDumper工具一个
OK,首先打开安装包。
提取 lib/armeabi-v7a/libil2cpp.so
提取 assets/bin/Data/Managed/Metadata/global-metadata.dat
就像这样
按照上面的步骤走就好了。会发现完成之后,同目录下多出个dump.cs文件。没错了,这就是分析之后得出的文件。可以用文本打开!
我们在里面搜搜一些常见的货币
比如 coin gold
找到了不少,但是这个是正确的。
//后面的地址是这个方法名所在so的偏移
之后会用到
我们把libil2cpp.so拖进IDA分析
分析完之后在页面按G 输入get_Gold()的偏移
也就是图上看到的 15db70c
回车就会跳到这里,这里就是get_Gold的地方了
这种改过dll的都知道 重新给个返回值就好了!
我们将这个地方的十六进制复制下来。
用十六进制编辑器打开so 找到这个地方
因为这里四字节一个段
最大的也只能是ffff 一个不够的话 我们再加一个
ldc.i4 0xffff --------» MOV R0,#0xffff
ldc.i4 0xffff --------» MOV R1,#0xffff
add --------» ADD R2, R0, R1
ret --------» BX LR
最后还需要把R2的最终转回R0中。IL中是不需要这个的
所以最终的样子是改成这样
MOV R0,#0xffff
MOV R1,#0xffff
ADD R2, R0, R1
MOV R0,R2
BX LR
最终还是要改16进制
MOV R0,#0xffff ------» FF0F0FE3
MOV R1,#0xffff ------» FF1F0FE3
ADD R2, R0, R1 ------» 012020E0
MOV R0,R2 ------» 0200A0E1
BX LR ------» 1EFF2FE1
合起来就是
FF0F0FE3 FF1F0FE3 012020E0 0200A0E1 1EFF2FE1
保存,替换进安装包,签名安装运行
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|