【技术教程】SO逆向,货币不减反加思路教程
少壮不努力,长大靠翻译!http://cdn.u1.huluxia.com/g4/M01/25/E4/rBAAdmKowTmAcoKCAAN4HBB1GOk757.png
前言:关于反加的修改,难度不算太大,反加的运算逻辑就是+,- ,但每个游戏的运算逻辑都不一样,有些是调用或者分支 等,而难点在于寻找它的关键函数,找到了对应的函数才可对症下药。
修改思路:先寻找关键的货币函数,再分析代码逻辑以及作用,确定后再进行下一步修改……
【需要准备的工具】
1.mt管理器
2.il2cppdumper
3.dnspy
4.IDA Pro7.0
5:本次教程的素材游戏包:https://pan.baidu.com/s/13Sv4zjc62u8a22cEqddr9w?提取码:o28a
ps:il2cppdumper的使用介绍和工具在下面的引用的帖子都有,可以到那个帖子里获取~#【初夏教程】初识dat-so修改及相关工具简单介绍#
该出手时就出手,开搞!
1.先进入游戏看看有没有什么提示词,看见该货币GOLD(译:黄金),读取到有用的信息后去试试能不能找出可观的方法函数。http://cdn.u1.huluxia.com/g4/M01/25/E4/rBAAdmKowTqAMvY4AASk-rWMIh0061.jpg
2.将Dummy好的dll全部拖入dnspy中,这里有个技巧,如果SO文件较大,单独把Assembly-Csharp.dll放进去就行了,这样你搜出来的结果就不会那么多,有助于你更准确的分析,但结果少的情况下还是建议把全部拖进去哈。http://cdn.u1.huluxia.com/g4/M01/25/E4/rBAAdmKowTqAIiNAAAFS4KK2K6E385.png
3.在游戏里看到货币是GOLD,于是搜一下这个方法看看能不能找到关键函数,运气很好,直接砍到大动脉,找到了黄金发生变化的函数,黄金发生变化,说明增多了或者减少了它才会变化。http://cdn.u1.huluxia.com/g4/M01/25/E4/rBAAdmKowTuAbvOAAAKFuXL4Kv0735.png
4.记住上面RVA函数地址0xD7FF84,这里我是ARM64位,所以打开64位的IAD,等待加载好SO文件后,快捷键“G”跳转到该地址。http://cdn.u1.huluxia.com/g4/M01/25/E4/rBAAdmKowTuAY6kyAADMaXwlFp4866.png
5.快捷键“P”定位第一行指令,这样就可以看C代码了,也就是伪代码,伪代码的快捷键是“F5”http://cdn.u1.huluxia.com/g4/M01/25/E4/rBAAdmKowTuALwX5AAD3YRA7B-w032.png
6.一路下来,一般有些明显的会出现获取你的货币数值,然后通过减法指令减去寄存器的数值,但并没有发现让货币减少的地方,推测这里应该是引用了货币的加减函数。http://cdn.u1.huluxia.com/g4/M01/25/E4/rBAAdmKowTyAaFZmAADj9sCJ0ho963.png
7.返回原来的位置,光标GoldChanged,按快捷键“X”看看它引用了哪些函数……http://cdn.u1.huluxia.com/g4/M01/25/E4/rBAAdmKowTyACP06AAElpcCYkTk674.png
8.经过寻找,下面这两行正是加减货币的函数。http://cdn.u1.huluxia.com/g4/M01/25/E4/rBAAdmKowTyAc5wyAAD5ZKnnRqc472.png
楼下继续更新…… 求沙发 前排顶,很好! 楼猪V5啊
页:
[1]