Nobody(大多数)游戏修改学习笔记
Nobody(大多数)游戏修改学习笔记
图片我懒得一个一个上传了,想看完整版请移步
Nobody(大多数)游戏修改学习笔记
前言:时隔这么久再一次更新有着千言万语想要诉说,却不知从何说起,想当初……… (咳咳)扯远了,最近这几天忙着做这个修改器,也是我一直以来的“夙愿”,也算给自己简历添点微末道行,看着风大大的修改器能够轻易的修改游戏数据,拨弄人物数值如同探囊取物一般容易,让我好生敬佩,不由得升起一股想要拜入宗门之下,习得那72变才肯罢休之情啊
(真扯远了)回到主题,在编辑这篇文章的时候只支持以下功能
我会详细讲述这个修改器的整个过程(知道我找这个找的好辛苦吗T_T)包括怎么找寻基地址和源码,我都会全部的写出来(不过我的找寻方法可能有点粗暴,不是那么优雅,不过能找到就行了,哈哈,但如果有更好的方法,还烦请大佬们告知一二,让小弟开开眼界)
首先是环境
电脑:win10 64位
编辑器:VS2022 C\C++
工具:CE
接下来就是找寻基地址了
找寻基地址
金钱基址
想必接触过逆向和游戏的人来说无不了解CE和CE的基本运用,所以这里就只详细介绍金钱的基址寻找方法,其它的都大差不差,如果有其它的方法会在后面进行说明,有更好方法的大佬也可在评论区一谈究竟。
首先这是游戏的一个状态,可以看到金钱是91888.41,可以看到是float类型,因此,CE就要这样设置
写上数值,选择浮点数类型,然后点击首次扫描,会出现很多的结果,然后回到游戏中去消费或者增加一些金钱,然后输入新的金钱值,在点下一次扫描,一直重复,直到出现结果一直不变或者只剩一个结果时停下,如图
然后会发现出现9个结果,这怎么办呢,一个一个去试太浪费时间了,这下就用到了CE的mono功能(还不清楚这个mono是不是只针对Unity游戏的,我还没去了解,哈哈哈),点开首先激活mono功能,然后点击.Net Info,如图
点进去后发现左边有许多的dll和类名,这里拓展一下,
凡是unity游戏里有GameAssembly.dll和il2cpp_data文件夹的时候基本可以断定这个游戏就是il2cpp做的了,至于il2cpp与mono的区别可以参考:[通杀爆改 Unity FPS 游戏系列-第三章:il2cpp mono 差异 - 吾爱破解 - 52pojie.cn]
回到CE上,可以看到有很多的dll和类,选择Assembly-CSharp.dll,这个类里藏着整个游戏的运算逻辑和人物的属性
通常情况下,玩家可以搜索Player等,这里玩家的属性是PlayerConf
右边的属性就会罗列出来,还有偏移,下面就是一些方法和函数,很容易从名字上判断是干什么的
那怎么去找基址呢,我这边有两个办法
第一个:就是找到后那9个后,结束当天,然后缓存的地址就会变成其它的数值
第二个:回到罗列属性的页面,看到右边有个Lookup instance按钮,点击他就会帮我们寻找可能的地址,这里就看可以去筛选那些值是对的上游戏数据的
这里会给出很多的结果,所以需要一点耐心,也可以当作一种验证手段,查看自己找的地址是否正确,(这里也可以手动输入)
然后找到了,就下来就是一步步找基址
选中找到的地址,右键选择【查找写入此地址的内容】
然后会弹出一个小框,接着去游戏中改变金钱的数值
双击此结果,或者选择旁边的更多信息,
这里就会有CE提示的你可能要找的地址,记下这个地址和偏移,最好记在文本上,然后我们就去搜索这个可能的地址
然后新建扫描,选择十六进制、8字节,输入地址,然后首次扫描
得到了5个结果,然后我们就可以每个去右键【查询访问此地址的内容】,看看有没有结果
这个地址的访问次数很多,那多半就是这个了(有些需要在游戏中改变对应的值才能触发)
然后双击复制可能的地址,记下偏移,重新搜索
然后到这一步
碰到了有两个都有的话,我这边采用的是笨办法,都去看看,所以这就是我记录的意义
然后试验下来,右边胜出了,继续一样的操作
这次运气好,只有一个结果,继续
看到绿色的地址了,这样就算基地址了,
选中右键查询访问地址,显示反汇编,然后这个绿色的就是我们要找的基地址,这里建议不要记录7FFXXXXXX基地址,而是记录GameAssembly.dll+29B9D78这样的基地址,因为每次重启游戏,GameAssembly.dll的模块地址不一样,但是偏移却是一样的,整理一下我们所记录的基地址和偏移,我们就可以手动添加地址了
这样,我们就能自己找到基地址了,然后保存下来的话,每次启动游戏都可以直接修改金钱,不用再去辛苦找地址了
现在试一试,修改这个数值,游戏中的钱是否会改变
外面的金钱需要交互才会显示出来
看来这个地址没问题,就是对了
其它的都是这样的,按照这样的步骤我展示的类型基本上都能找到,但是技能点除外,这个我们后面详说
这里我贴出其它数值的偏移
饱腹度基址
这里我找到的基址有两个,问了gpt说这是正常现象,说是备份什么之类的
情绪值基址
心态值基址
(这里我的衣物整洁度有点问题,修改了没反应,回头我再去研究一下,就不贴了)
技能点基址
修改器编写
这里我先展示一下成果吧,明天再写,今天有点晚了,嘿嘿,想休息了
除了衣物整洁有点问题外,其它正常
好了,明天我在分享代码的编写
参考资料:
植物大战僵尸修改器制作-从入门到入土 - 吾爱破解 - 52pojie.cn
