使用Cheat Engine制作自己的游戏专用修改器
简单修改器制作教程 - 精装四大才子Cheat Engine制作&生成修改器
本帖最后由 圣风云淡 于 2011-5-10 14:14 编辑


首先,这只是个简单教程,即使没有编程经验甚至完全不懂任何编程语言的人都能制作自己的修改器!

迟些我会写一篇用C#来编写修改器的教程,其实过程也大同小异,只是编译用C#而不是用 Cheat Engine 自动生成而已。这就需要一些更高级的知识了...

所需工具:Cheat Engine 6.0 & Cheat Engine 5.6.1
所需知识:懂得怎么搜索数据地址,只要知道懂得怎么地址就行了。

虽然每次开始游戏那个地址都会改变,但下面要教的正是怎么通过修改汇编代码来间接修改那个总会改变的地址。
而我们要的代码地址总是固定在游戏某个模块的特定地址里的,只要有模块的地址和那个代码的偏移值,那么我们就一定可以到那个代码的地址,对其进行修改,就能间接修改具体数据的地址(例如金钱、生命、子弹...etc)

这里用《刺客信条:兄弟会》来当例子,这个教程还适用于任何游戏!
当然,如果游戏有数据加密,反调试的话,那么过程将会更加坎坷...

教程正文:

1. 到数据地址

这个我就不教了,太基础,如果这个都不懂的话可以不用往下看了...





2. 出写入这个地址的代码

右键到的数据地址(图里是金钱的地址),点击 Find out what writes to this address , 出写入这个地址的代码
有些时候你可能需要点 Find out what accesses this address,不过一般情况下我们用不着点这个,因为可能会出很多不需要的代码。



第一次点击的时候会弹出提示,问你要不要用调试器调试当前程序(游戏程序),当然选Yes



然后你会看到弹出一个调试界面,不用管,先回到游戏




由于这里用的是金钱做例子,那么回到游戏后去改变一下金钱数量,例如买东西,扔钱,偷钱...
我进游戏扔了一次钱,偷了一次钱 (以防万一增加和减少金钱是用两个不同的代码来写入的)
事实果然不出我所料,回到调试界面,我看到了两个地址,而且各自写入了一次金钱数据。那么,很明显一个是减少金钱,一个是增加金钱的代码。



然后我们点 Add to the code list,把代码添加到代码列表。由于我是先扔钱后偷钱,那么第一个地址就是减少金钱,第二个地址就是增加金钱的代码。根据实际情况来命名你的代码把,随便写点什么都可以,反正能让自己知道那个代码是干什么的就行了。




然后你会看到代码列表跳出来了,里面正好有你刚刚添加的代码



3. 通过汇编来修改这个代码

这一步对新手来说可能比较难了,需要一定的汇编知识,至少要知道一些基础的汇编命令,这里就不多说了,百度有很多相关命令和解释

首先,双击代码列表里的代码(你刚刚添加的代码),内存监测器会跳出来,并且会自动转到你的代码的地址。


gps是什么意思


然后点击 Tool - Auto Assembly,聪明人可能已经看出,其实只要按快捷键 Ctrl + A 就行了...蓝天之下白云之上



然后Auto Assembly (AA脚本) 的窗口会跳出来,点击 Template - Cheat Table framework Code



然后再点击 Template -  Code injection全家福怎么获得


你会看到Cheat Engine为你自动写好的脚本,不过这个只是原始代码的脚本!我们的工作是修改这些代码来实现我们想要的功能!



然后通过修改这些代码来实现我们想要的功能,例如把金钱减少的代码改成把数值999999复制到金钱地址,而我下面正是要这样做。

首先把以下代码删除,我们并不需要这个 (但有些情况下是需要的,例如代码对敌人同样适用的情况下,我们需要通过对比数据来决定是否跳到原始代码还是使用修改后的代码,这个这里就不多说了)
label(originalcode)
label(exit)
originalcode:
exit:
以上代码全部删除

然后,看到 mov ,eax , 这个代码的意思就是把 eax 中的数据(你当前的金钱数量) 复制到  (金钱地址) 中去
那么我们要怎么做呢,很简单,把它改成 mov ,#999999,这个代码的意思相信你已经知道了,没错就是把数值 999999 复制到 (金钱地址) 中去。
改好之后的代码如下图:



然后点击 File - Assign to current cheat table



刚写好的脚本就会出现在 Cheat Engine 主界面上



浙江限电令新规定2021最新消息
我发现,刚刚到的代码不但会写入金钱数量,还会写入子弹数量,毒药数量,弓箭数量等。因此我把这个脚本改了一下名字。
网管工作总结


然后把脚本名字前面的勾勾上



回到游戏,扔一下钱或者买东西,你会发现金钱变成了999999!同样,你用一下火和弓箭,子弹/箭数量也会变成999999 (但只会显示99),再切换出来,发现金钱地址里的数值真的变成了 999999 (这不是废话嘛...)




未完,待续...

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。