平平博客平平博客

平平

pingping@pingping6.com

平平网络pingping6.com

文章数
8610
评论数
2861
浏览数
3568213
平平
pingping@pingping6.com
平平网络pingping6.com

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

网站资源2022-06-22 11  0 
摘要:少壮不努力,长大靠翻译!前言:关于反加的修改,难度不算太大,反加的运算逻辑就是+,-&nb...
少壮不努力,长大靠翻译!
前言:关于反加的修改,难度不算太大,反加的运算逻辑就是+,- ,但每个游戏的运算逻辑都不一样,有些是调用或者分支 等,而难点在于寻找它的关键函数,找到了对应的函数才可对症下药。

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

【需要准备的工具】
1.mt管理器
2.il2cppdumper
3.dnspy
4.IDA Pro  7.0
5:本次教程的素材游戏包:https://pan.baidu.com/s/13Sv4zjc62u8a22cEqddr9w 提取码:o28a

ps:il2cppdumper的使用介绍和工具在下面的引用的帖子都有,可以到那个帖子里获取~

该出手时就出手,开搞!

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.经过寻找,下面这两行正是加减货币的函数。
楼下继续更新……
继续阅读
写代码真的很累!麻烦点个赞,评论一下,然后分享给自己的小伙伴!
打赏
海报分享
发表评论
表情
快捷
私密

右滑验证