【技术教程】SO逆向,货币不减反加思路教程

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

#楼主# 2022-6-15

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

前言:关于反加的修改,难度不算太大,反加的运算逻辑就是+,- ,但每个游戏的运算逻辑都不一样,有些是调用或者分支 等,而难点在于寻找它的关键函数,找到了对应的函数才可对症下药。

修改思路:先寻找关键的货币函数,再分析代码逻辑以及作用,确定后再进行下一步修改……

【需要准备的工具】
1.mt管理器
2.il2cppdumper
3.dnspy
4.IDA Pro 7.0
5:本次教程的素材游戏包:

本帖含有隐藏内容,请您 回复 后查看
 提取码:o28a

ps:il2cppdumper的使用介绍和工具在下面的引用的帖子都有,可以到那个帖子里获取~#【初夏教程】初识dat-so修改及相关工具简单介绍#

该出手时就出手,开搞!

1.先进入游戏看看有没有什么提示词,看见该货币GOLD(译:黄金),读取到有用的信息后去试试能不能找出可观的方法函数。

2.将Dummy好的dll全部拖入dnspy中,这里有个技巧,如果SO文件较大,单独把Assembly-Csharp.dll放进去就行了,这样你搜出来的结果就不会那么多,有助于你更准确的分析,但结果少的情况下还是建议把全部拖进去哈。

3.在游戏里看到货币是GOLD,于是搜一下这个方法看看能不能找到关键函数,运气很好,直接砍到大动脉,找到了黄金发生变化的函数,黄金发生变化,说明增多了或者减少了它才会变化。

4.记住上面RVA函数地址0xD7FF84,这里我是ARM64位,所以打开64位的IAD,等待加载好SO文件后,快捷键“G”跳转到该地址。

5.快捷键“P”定位第一行指令,这样就可以看C代码了,也就是伪代码,伪代码的快捷键是“F5”

6.一路下来,一般有些明显的会出现获取你的货币数值,然后通过减法指令减去寄存器的数值,但并没有发现让货币减少的地方,推测这里应该是引用了货币的加减函数。

7.返回原来的位置,光标GoldChanged,按快捷键“X”看看它引用了哪些函数……

8.经过寻找,下面这两行正是加减货币的函数。

楼下继续更新……

具体请参考:

9.上滑到开始的地方,记住地址:134C154

10.返回dnspy搜索:134C154,发现货币加减的函数方法都在这里了,下一步就可以进行修改了。

11.因为这个是分支的方法,所以,只要在减少黄金的函数给个跳转指令到增加黄金函数就行了,记住地址:134C154

12.“G键”跳转到减少地址,在第一行添加增加货币的跳转指令

具体操作:

13.MT管理器,十六进制打开SO文件,跳转到刚刚的减少函数地址修改;或者在电脑里面修改也可以,看个人习惯吧~

14.保存签名,安装测试效果

大佬,没学过计算机之类的,是不是就无缘so修改了[滑稽][心碎]
死记教程步骤的话,一换游戏改就懵逼了,没点计算机基础,理解不来呀[泪]

评论

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

    217

  • 帖子

    349

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0933s Mem:2047Kb