【凯特原创】il2cpp之反加货币

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

#楼主# 2023-1-7

上一篇
#【凯特原创】il2cpp 锁定大量货币#
下一篇
#【凯特原创】il2cpp之免广告获得奖励#
补个裆[滑稽]

本篇教程为so反加
教程适用于unity开发的游戏 市面上多数为unity开发
下面开始
先上游戏

打开安装包

首先看Lib文件夹

简单理解下v8a和v7a 具体的可以自行百度了解
先将v8a想象成一个64位的应用 而v7a是一个32位的应用
如果你现在有一个32位的机器 那么你只能运行v7a
而如果你有一个64位的机器 那么v7a v8a都可以运行
所以说一般修改直接改v7a 然后把v8a给删除
这样就可以兼容更多的安卓版本 同时还可以精简安装包
讲的可能不好但是 如果你能理解
为什么要删除v8a就ok了

打开v7a的文件将libil2cpp.so文件解压出来
当看到有这么一个so文件那么要修改so了
Unity游戏就是这样改dll或者so

接下来按照下图红框中的路径打开文件夹可以看到一个名为
global-metadata.data的文件 也解压出来

打开il2cppdumper 点击il2cppdumper.exe 进行dump

在后面弹出的对话框中先选择so文件

选择完so文件接着又有一个对话框我们选择dat文件

楼下补图继续

沙发
Smileˇ 2023-1-7
看到 press any key to exit 之后 按任意键退出 这样dump就算完成了

板凳
Smileˇ 2023-1-7
打开dnspy 分析dump出来的dll文件 当然也可以直接分析dump.cs文件

地板
Smileˇ 2023-1-7
将dummydll文件夹里的全部文件拖入dnspy中

在搜索框输入 diamond
要做反加
还是先从货币下手
看看有没有和货币有关并且带有减少含义的方法

4楼
Smileˇ 2023-1-7
我们可以看到很多和diamond有关的方法
注意我们的目的是反加
所以要找找有没有和反加有关的方法
下面给一些常用关键字

5楼
Smileˇ 2023-1-7
向下翻可以发现有spenddiamond 然而有两个

如何确定 一个一个试
因为前期测试过 datamanager 里的spenddiamond并不是正确的位置
直接看第二个
复制RVA后面的值

6楼
Smileˇ 2023-1-7
接下来将libil2cpp.so拖入ida中
拖入后 点击文件(File) 选择脚本文件(Script file)

在后面弹出的对话框中导航到il2cppdumper的文件夹中选择ida.py 或者ida_py3.py

接下来还有一个对话框选择script.Json

选择完后等待完成 在ida中看到下图 说明脚本已经加载完成 这一步是为了更好的分析代码

7楼
Smileˇ 2023-1-7
Ida中按g 输入spenddiamond的rva值跳转到spenddiamond的方法
按 c 直接展开代码

8楼
Smileˇ 2023-1-7
直接看到关键 SUB R1,R2,R1
将sub改为add即可打开网站https://armconverter.com/

9楼
Smileˇ 2023-1-7
看到01 10 82 E0 直接修改
使用十六进制编辑器打开libil2cpp.so
这里使用mt自带功能开始演示
跳转到 35B2C0
将4改成8即可

10楼
Smileˇ 2023-1-7
再跳转到spendmoney方法去 复制rva值 打开ida 按 g 输入rva值 跳转到
Spendmoney 方法

既然是反加 那我们就要找到和减法有关的指令
例如sub vsub rsb等等
现在在上面这张图中有sub和vsub
当你有经验后就知道 这里需要修改 vsub了 将vsub改成vadd即可

简单说说 vsub vsub方法是 浮点数做减法使用的
当看到这个spendmoney方法里参数是double型(浮点型 float也是浮点型)
而spendmoney方法里还有vsub 那么这里就更可疑了
当然确定是不是vsub还是具体游戏具体分析的

评论

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

    434

  • 帖子

    122

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0483s Mem:2040Kb