![](https://img-blog.csdnimg.cn/9a16d5d407a24aa2adefe4b00581b433.png)
教你如何使用CE来利用一些电脑游戏。作弊引擎是一种内存扫描工具。它允许您访问存储在计算机内存中的数据并更改该数据。这使您可以更改游戏中的信息,例如健康、弹药、分数、生命以及库存中的物品数量。
部分1
安装CE
![](https://img-blog.csdnimg.cn/img_convert/00e1f9d6e4420c96ead0ac4608d253c1.jpeg)
1
打开CE页面。在您计算机的网络浏览器中 访问https://cheatengine.org/downloads.php 。
2
点击下载CE。这是页面中间的一个大链接。
该按钮还将列出当前版本的CE(例如,下载CE 6.7)。如果您尝试在 Mac 上使用 Cheat Engine,请改为单击Download Cheat Engine 6.2 For Mac链接。
![](https://img-blog.csdnimg.cn/img_convert/e632ccc237699806df43f6b961b655fc.jpeg)
3
安装作弊引擎。这样做会因计算机的操作系统而异:
Windows — 双击 Cheat Engine 安装文件,出现提示时单击Yes ,单击Next,选中“我同意”框并单击Next,再单击3 次,取消选中“我同意安装 McAfee WebAdvisor”框并单击Next,然后单击安装。设置完成后,如果出现提示,请单击Next,然后单击Finish。Mac — 双击 Cheat Engine DMG 文件,如果出现提示,请验证安装,单击 Cheat Engine 徽标并将其拖到“应用程序”文件夹中,然后按照屏幕上的说明进行操作。
![](https://img-blog.csdnimg.cn/img_convert/79ab585cff7ef46a93221b362090d0c0.jpeg)
4
打开作弊引擎。安装完作弊引擎后,打开开始
![](https://img-blog.csdnimg.cn/img_convert/7c19c1c85d3d6d30fd7ffffbac0b485f.png)
(Windows) 或 Launchpad (Mac),然后单击作弊引擎选项。
您可能必须单击是或打开才能打开作弊引擎。
部分2
在作弊引擎中打开游戏进程
![](https://img-blog.csdnimg.cn/f2d2f085b90e45518fb2f059e7bdb2b9.png)
开始游戏。打开您要与作弊引擎一起使用的游戏。
请记住,这不能是在线多人游戏或基于服务器的游戏。
![](https://img-blog.csdnimg.cn/img_convert/022d131d4b5e1c6146ccb50dbaeb8f7a.jpeg)
2
单击“进程”图标。在作弊引擎窗口中,点击左上角的电脑图标。这将打开一个弹出窗口,其中包含您计算机的当前程序。
![](https://img-blog.csdnimg.cn/img_convert/d73f600e3d20d5d6dafe811514898fa2.jpeg)
3
选择你的游戏进程。滚动进程列表,直到找到您的游戏,然后单击游戏名称。如果您尝试将 Cheat Engine 用于浏览器游戏,您将选择浏览器的名称。
如果您的游戏未出现在“进程”列表中,则您无法在 Cheat Engine 中对其进行编辑。您可能首先需要单击窗口顶部的进程选项卡。
单击确定。它位于窗口的底部。这将在作弊引擎中打开游戏。
寻找和改变游戏中的价值
![](https://img-blog.csdnimg.cn/img_convert/be139b51c4a9371008f86b30cad4cab6.jpeg)
确定要改变的游戏方面。为了让您能够更改游戏方面,方面必须附有一个数字(例如,弹药量、生命值或物品)。
号码必须在屏幕上。例如,如果您想更改库存中某个项目的编号,您首先必须将库存打开到该项目编号可用的页面。
![](https://img-blog.csdnimg.cn/img_convert/e7b2dad7b9ccdad627a87799981ba0bb.jpeg)
2
最小化游戏窗口并点击 Cheat Engine。您需要在游戏最小化时打开作弊引擎窗口。
执行此操作时不要暂停游戏。
![](https://img-blog.csdnimg.cn/img_convert/7ae2731a0bc121f50bab9a360bcb0335.jpeg)
3
单击新建扫描。它位于左侧面板旁边的作弊引擎顶部。任何时候要扫描新值时,都需要单击New Scan。
![](https://img-blog.csdnimg.cn/img_convert/fcf031b435db98873ddb6899cbf92e0c.jpeg)
4
选择扫描类型。开始新扫描时,您可以执行五种扫描类型。您将使用的两个主要参数是“精确值”和“未知初始值”。使用“扫描类型”旁边的下拉菜单选择您要执行的扫描类型。扫描类型如下:
精确值:如果您知道要更改的确切数字,请使用此扫描类型。例如,如果您知道确切的生命数量或拥有的弹药数量,则可以选择此选项。未知的初始值:在视频游戏中,有时值不是用数字表示的。例如,您的健康状况可能由健康计量器而不是数字来表示。在这种情况下,你没有一个确切的数字来说明你有多少健康。有一个数字代表您的健康,您只是在屏幕上看不到它。在这种情况下,您可以选择Unknown initial value。大于...:'如果您不知道要查找的确切数字,但您知道可能的最小值,请选择此选项。小于...:如果您不知道确切的值,但您知道可能的最大值,请选择此选项。介于...之间的值:此选项允许您输入要查找的值范围。
![](https://img-blog.csdnimg.cn/img_convert/f1f71c6c960a1b006b34a31f3242c1e7.jpeg)
选择数据类型:数据类型表示值在内存中的存储方式。可能很难知道要选择什么数据类型,所以这可能需要一些猜测。使用“数据类型”旁边的下拉菜单选择数据类型。如果使用一种数据类型找不到您要查找的值,请单击“新建扫描”并使用其他数据类型重试。您将使用的一些更常见的数据类型如下:
字节: 2 字节和 4 字节是您最常使用的数据类型。大多数 Windows 应用程序使用 4 字节,所以从它开始。您还可以使用 2 字节找到这些值。1 字节和 8 字节也可以工作,但您可能会遇到问题。浮点数:浮点数据类型是值中有小数点的值(尽管您可能在游戏中看不到小数点)。有时游戏将值存储为浮点数以防止简单的内存扫描。如果您无法通过扫描字节找到您要查找的值,请尝试扫描浮点数。双精度:双精度与浮点数类似,但它们可以包含两倍的位数。如果您无法通过扫描字节或浮点数来找到值,请尝试将其作为双精度数进行扫描。全部:此选项扫描所有数据类型的所有值。如果您不知道要搜索什么,这是一个不错的选择,但它也会返回更多您需要缩小范围的搜索结果。
![](https://img-blog.csdnimg.cn/img_convert/c1221302ff5d3168f336d2030e5e3972.jpeg)
输入您要更改的值,然后单击First scan。例如,如果您的弹药中还剩 20 颗子弹,您可以20在“值”文本框中输入。这将扫描所有包含数字“20”的值。这可能会在地址列表中产生一长串值,您需要将其缩小一点。
![](https://img-blog.csdnimg.cn/img_convert/bee6f252a6de63c5101dee61c0c4d8e4.jpeg)
返回您的游戏并更改值。你如何做到这一点将取决于游戏本身;例如,如果您想给自己更多的健康,您可能会故意损害自己的健康以降低数量。如果你想要更多的弹药,你可以开几枪来减少你的弹药数量。
![](https://img-blog.csdnimg.cn/img_convert/412b031029741361804d7e9391b622d7.jpeg)
返回作弊引擎并扫描更新的数值。再次最小化游戏并点击返回作弊引擎。在“值”部分输入新数字,然后单击Next Scan。这将扫描您第一次扫描中的所有值,并将地址缩小到更改为您在“值”栏中输入的值的地址。
未知初始值:如果您为第一次扫描选择了“未知初始值”,请根据值(或米)是增加还是减少,在“扫描类型”下选择增加值或减少值。这将扫描所有增加或减少的值,而不是扫描确切的数字。
![](https://img-blog.csdnimg.cn/img_convert/4ccc8225ea57a72e7de725c3788fd132.jpeg)
重复搜索过程,直到您有 4 个或更少的值。您将不断更改数字,然后搜索更新的数字,直到作弊引擎左侧列出的值不超过 4 个。
您最终应该会在每个值的数字的“上一个”列中看到您搜索的上一个数字,而该项目的当前值将在“值”列中。
![](https://img-blog.csdnimg.cn/img_convert/0eb99e01c35173fbf9699f60e3e0b227.jpeg)
将值添加到地址列表。您可以双击一个值将其添加到底部的地址列表中,也可以单击一个地址将其选中,然后单击值列表右下角的红色对角箭头。这样做会将值放在窗口底部的地址列表中。
要选择多个地址,您可以按住“Shift”并单击顶部地址和底部地址。
![](https://img-blog.csdnimg.cn/img_convert/c7860cafe640fe6fa66773ff34084534.jpeg)
将数字更改为您想要的值。使用以下步骤更改值编号:
双击作弊引擎底部列表中“值”下方的数字。在“值”字段中输入一个新数字。单击确定。
![](https://img-blog.csdnimg.cn/img_convert/217e730086f48454481f8535e87940df.jpeg)
12
检查您的游戏中的值是否更新。当您重新打开游戏时,您编辑的值应该反映您刚刚输入的数字。下一部分将教您如何通过将值替换为非操作代码来阻止值更改。
您可能需要再次更改该值,然后它才会更新。
部分4
替换代码以阻止值更改
![](https://img-blog.csdnimg.cn/img_convert/e950f8e28d29e340efc8835d0d484d55.jpeg)
1
扫描要停止的值。这部分教你如何使用代码查找器找到写入要更改的地址的内容,然后将其替换为非操作代码。这将防止价值在游戏中发生变化。使用上一部分中的步骤查找要更改的值。将其添加到屏幕底部的列表中。
![](https://img-blog.csdnimg.cn/img_convert/1b651a436ac7d31f1c8cd1118b4447e1.jpeg)
2
右键单击该地址,然后单击Find out what access this address。这将打开作弊引擎调试器。这将显示写入您正在访问的地址的指令。
![](https://img-blog.csdnimg.cn/img_convert/0f8ac31f1c7f88f5205308f6faa09a05.jpeg)
3
单击是。这确认您希望将调试器附加到 Cheat Engine 进程。这将打开代码调试器。当窗口第一次打开时,列表将是空白的。
![](https://img-blog.csdnimg.cn/img_convert/119844886a8f2443430555ebe7fad797.jpeg)
4
返回游戏并再次更改值。再一次,回到你的游戏并做一些事情来改变你想要停止的价值。这将导致访问您选择的地址的代码指令出现在调试器窗口中。
![](https://img-blog.csdnimg.cn/img_convert/f1cc86011904ca52e53dbfcae4fd18b8.jpeg)
5
返回作弊引擎并单击列表中的指令。可能有多个地址。如果是这种情况,请选择不写入相同基地址的那个。查找“[' 和”] 括号之间的值与其他指令不同的指令。
![](https://img-blog.csdnimg.cn/img_convert/7a2796da8f0b8dc5fc227afc0966c5cb.jpeg)
6
单击替换。这将代码替换为非操作 (NOP) 代码。[1]
如果列表中有多个项目,请继续并选择所有项目。
![](https://img-blog.csdnimg.cn/img_convert/b7dd56ecfd0a4ceac04dc73a2472bbf0.jpeg)
7
单击停止。这使非操作代码生效。这将防止价值在游戏中发生变化。
要恢复原始代码,请选择列表中的项目并单击Show disassembler。右键单击显示“NOP”的位置,然后单击使用原始代码还原。如果您没有看到此选项,请单击Replace with code that does nothing,单击Yes。然后再次右键单击NOP并选择Restore with orignal code。
部分5
使用指针查找写入值的内容
![](https://img-blog.csdnimg.cn/img_convert/08c138e0be6f6cfe2e6b525eaa05bbac.jpeg)
1
扫描要更改的值。有时值可以在您重新启动游戏时或在游戏中间更改地址。您可以使用指针来查找写入地址的内容。一旦找到不变的基级静态地址,就可以更改该值。
![](https://img-blog.csdnimg.cn/img_convert/c2ea7790950e1b8374185b13898ce4dd.jpeg)
2
右键单击该地址,然后单击Find out what writes to this address。这将打开调试器窗口。
如果有多个地址,请为作弊引擎允许的尽可能多的地址打开一个调试器窗口。
![](https://img-blog.csdnimg.cn/img_convert/0042795cd36de9b15420cdb7df1f8711.jpeg)
3
返回游戏并再次更改值。再一次,回到你的游戏并做一些事情来改变你想要改变的价值(即开火,被击中)。这将导致写入该地址的指令出现在调试器窗口中。
如果调试器窗口中没有任何变化,则它不是正确的地址。尝试不同的。
![](https://img-blog.csdnimg.cn/img_convert/92c44e14a8168aef562edd8601eec667.jpeg)
4
返回作弊引擎并单击列表中的指令。它在调试器窗口中。可能有多个地址。如果是这种情况,请查找在“[”和“]”括号之间具有不同字符集的指令。如果没有单个地址具有不同的字符,请检查指针是否对所有人来说都是一样的。
如果字符末尾有一个+ 和一个数字(即[ESI+14])。那是一个偏移量。写下来。你稍后会需要它。
![](https://img-blog.csdnimg.cn/img_convert/4c65dd6533e6500fe499bfe024d86737.jpeg)
5
单击更多信息。这将显示当 Extra Info 屏幕中的值更改时发生的说明。这也列出了写入地址的指针。
您还可以通过检查括号中的字符,然后检查底部列出的这些字符后面的数字来找到地址。例如,如果地址旁边有“[rdx]”,则在底部查找 RDX=xxxxxxxx。
![](https://img-blog.csdnimg.cn/img_convert/6d4424bed019a2497e0fc04c529cf3ac.jpeg)
6
单击“十六进制”旁边的复选框并重新扫描指针地址。指针的地址列在“查找此地址所需的指针的值可能是 xxxxxxxxx”的文本中。使用以下步骤搜索此句末尾的地址。
单击新建扫描。单击“值”字段旁边的“十六进制”复选框。在 Value 字段中输入指针地址,然后单击First scan。
![](https://img-blog.csdnimg.cn/img_convert/4bd68132400b039d35063f3d15a88925.jpeg)
7
双击指针地址。这会将地址添加到作弊引擎底部的列表中。
如果地址在扫描结果中以绿色列出。这意味着它是一个静态地址,可能是您正在寻找的指针。在某些情况下,您找到的指针也可能是指针。这称为多级指针。在这种情况下,您需要对找到的每个指针重复这些步骤,以找出根静态指针地址是什么。
![](https://img-blog.csdnimg.cn/img_convert/01da1602014a695f653cf65065bf446a.jpeg)
8
双击“地址”下方的数字。这将打开“更改地址”对话框。
![](https://img-blog.csdnimg.cn/img_convert/6def799d1044e656c45916dd7bc00987.jpeg)
9
复制字段中的地址,然后单击取消。要复制地址,只需突出显示“更改地址”框顶部字段中的整个文本。右键单击它,然后单击复制。然后单击“取消”关闭该字段。
![](https://img-blog.csdnimg.cn/img_convert/ef256559fa75628aee6f995a7d96457f.jpeg)
10
单击手动添加地址。它是作弊引擎底部地址列表上方左侧的按钮。这将打开一个类似于“更改地址”框的框,除了这个框允许您添加地址。
![](https://img-blog.csdnimg.cn/img_convert/c96673986d312339d10f8ddb92d0eae1.jpeg)
11
单击“指针”旁边的复选框。这会扩展该框并添加一个新的文本字段,您可以在其中输入指针。
![](https://img-blog.csdnimg.cn/img_convert/64b26588e12981070b7093280398a861.jpeg)
12
将指针地址粘贴到“指针”下方的字段中,然后单击确定。这将为控制要更改的值的指针添加一个新地址。您刚刚创建的指针的地址将显示为“P-->xxxxxxxx”。这表明这是一个指向特定地址的指针。
如果有偏移编号,请将其输入到粘贴地址的字段上方的空白处。如果有多个指针,请单击添加偏移量。这将在您粘贴地址的区域上方添加更多偏移量数字框。在每个框中输入正确的偏移量。
![](https://img-blog.csdnimg.cn/img_convert/ec189fd289634ed93fa4f4883c1b06d2.jpeg)
13
单击刚刚添加的指针地址旁边的“活动”框。它是屏幕底部列表地址列表中“活动”下方的框。这会激活指针。
![](https://img-blog.csdnimg.cn/img_convert/0a62446ba912366441dda313cd8e8d9f.jpeg)
14
更改您刚刚添加的地址的值。您刚刚创建的指针地址的值编号应该与您搜索的值的地址相同。如果指针写入不同的位置,您扫描的原始地址将不再有效。但是,您仍然可以更改刚刚创建的指针地址的值。无论将值位置写入何处,这都将起作用。单击您刚刚添加的地址的“值”下方的数字。输入一个新的数值并点击Ok。
部分6
使用代码注入更改代码
![](https://img-blog.csdnimg.cn/img_convert/dee60e84ba330eaa7e5ea2625edaad14.jpeg)
1
扫描要停止的值。这部分教你如何使用代码注入来改变代码写入值的方式。例如,如果您每次被击中都会失去生命值,您可以更改代码,以便在被击中时增加生命值。
![](https://img-blog.csdnimg.cn/img_convert/f594068801e35365b8ee18c97cc9ec57.jpeg)
2
右键单击该地址,然后单击Find out what access this address。这将打开作弊引擎调试器。
![](https://img-blog.csdnimg.cn/img_convert/5d1888c3f5d9e952b2309a36b05a94c7.jpeg)
3
单击是。这确认您希望将调试器附加到 Cheat Engine 进程。这将打开代码调试器。当窗口第一次打开时,列表将是空白的。
![](https://img-blog.csdnimg.cn/img_convert/49b6907a4e1b24663867c2a604ce4778.jpeg)
4
返回游戏并再次更改值。再一次,回到你的游戏并做一些事情来改变你想要停止的价值。这将导致访问您选择的地址的代码出现在调试器窗口中。
![](https://img-blog.csdnimg.cn/img_convert/e924a81f188056c89eb92921a20bfee8.jpeg)
5
返回游戏并再次更改值。再一次,回到你的游戏并做一些事情来改变你想要停止的价值。这将导致写入该地址的指令出现在调试器窗口中。
![](https://img-blog.csdnimg.cn/img_convert/d212052a1edb04929e6c3b39f115f48c.jpeg)
6
返回作弊引擎并单击列表中的指令。可能有多个地址。如果是这种情况,请在指令中查找包含单词“sub”的指令以从值中减去,或者查找包含单词“add”或“inc”的指令以增加值。
![](https://img-blog.csdnimg.cn/img_convert/2578f35b428fc7b89436ff7056fc1c09.jpeg)
7
单击显示反汇编程序。这将打开反汇编程序中的代码。
![](https://img-blog.csdnimg.cn/img_convert/40b7efb0546fa216cf51ccc5fc3f4e33.jpeg)
8
选择减去或增加值的代码。它通常是代码顶部的第一条指令。它很可能在代码的开头有单词“Sub”或“Add”,以从值中减去或添加到它。
单击工具,然后单击自动组装。这将打开自动汇编程序。
![](https://img-blog.csdnimg.cn/img_convert/6f8d4da03b61d330bc0ae8dfffa5db6b.jpeg)
10
单击模板,然后单击完全注入。这将显示一个弹出窗口,确认您要将代码注入的地址。
![](https://img-blog.csdnimg.cn/img_convert/53f4ff5bdd0b8ab43861d6d08d28c069.jpeg)
11
确保地址正确,然后单击确定。确保该字段中的地址与您在 Memory Viewer 反汇编器窗口中选择的地址相同。然后单击确定。这将打开一个新模板。
![](https://img-blog.csdnimg.cn/img_convert/87a39110d16f77e66e9047b325d689aa.jpeg)
12
将代码替换为相反的代码。向下滚动到显示“代码”的位置。它下面的行是更改值的代码。如果该行以“sub”开头,则将“sub”更改为“add”。如果该行以“add”开头,则将其更改为“sub”。您还可以更改行尾的值,以更改您希望它更改值的程度。
![](https://img-blog.csdnimg.cn/img_convert/98390d99a7b3f01971f077b56e2191ed.jpeg)
13
单击执行,然后单击是两次。“执行”按钮位于代码注入窗口的底部。系统将询问您是否确定要注入代码。单击是确认。然后您可以单击是或否在反汇编程序中打开新代码。如果代码注入成功,则游戏中的值将与它们应该做的相反。您可以通过射击武器而不是丢失弹药来获得弹药。当你被击中而不是失去健康时,你可以获得健康。
部分7
区分具有共享代码的对象
![](https://img-blog.csdnimg.cn/img_convert/d82b36be4e5272ca2f7c83c5b266c34d.jpeg)
1
扫描要停止的值。在某些游戏中,多个对象共享相同的代码。将代码注入一个对象也会影响所有其他对象。因此,您可能会冻结自己的健康条,结果却发现所有敌人的健康也被冻结了。在这种情况下,你需要弄清楚如何区分不同的对象,并注入一个只影响你想要的对象的脚本。
为了为不同的对象注入脚本,你需要知道一些汇编代码。但是,创建一个基本脚本并不难。
![](https://img-blog.csdnimg.cn/img_convert/d73b4379730d8117ee444db9a59c3e8c.jpeg)
2
右键单击该地址,然后单击Find out what writes to this address。一旦确定了要更改或停止的值的地址,找出写入这些地址的内容,打开调试器并找出写入该地址的内容。
![](https://img-blog.csdnimg.cn/img_convert/bc5fb74805b500b0a7c6ca41ecc466a4.jpeg)
3
选择指令并单击Show disassembler。这是打开调试器时突出显示的指令。这将显示代码反汇编程序中的指令。
![](https://img-blog.csdnimg.cn/img_convert/d62314ac8d086ee481f135cb92e65a5e.jpeg)
4
右键单击顶部指令,然后单击找出该指令访问的地址。这将打开一个窗口,其中显示指令在写入新地址时访问的所有地址的列表。
![](https://img-blog.csdnimg.cn/img_convert/63d9a76675176b639a12482bc2214ea9.jpeg)
5
允许游戏中的所有对象更改其值。这将显示指令访问的所有地址的列表。例如,如果您试图阻止您的健康栏发生变化,您可以返回您的游戏并受到打击。这将在访问地址列表窗口中显示访问该地址的指令。如果你击中了一个也共享该指令的敌人,它也会显示在访问地址列表窗口中。
![](https://img-blog.csdnimg.cn/img_convert/d318c61aa21440ae9f4e016893313378.jpeg)
6
在访问地址列表窗口中选择所有地址。一旦您拥有访问地址列表中所有共享相同地址的对象的地址,只需单击并拖动以突出显示所有对象。
或者,您可以右键单击每个单独的地址,然后单击Show register states。[2]
![](https://img-blog.csdnimg.cn/img_convert/ca74b86107ac763ea4a0487063b095b3.jpeg)
7
剖析所有列出地址的结构数据。使用以下步骤来剖析地址列表的数据结构:
右键单击选定的地址。单击打开带有选定地址的解剖数据。单击确定。输入数据结构的名称并单击Ok。单击是。输入结构的起始大小或保持原样,然后单击Ok。
![](https://img-blog.csdnimg.cn/img_convert/b94b8293bfdf345b6301c0a99bc86ec0.jpeg)
8
找到一个对玩家相同但对其他对象不同的值。无论您是查看每个对象的数据结构还是寄存器,您都需要找到一个对所有盟友都相同但对敌人不同的值。例如,如果团队 1 有两个玩家角色,而团队 2 有两个计算机控制的角色,那么团队 1 的角色可以用值 1 表示,而团队 2 的值可能是 2。
如果找不到对盟友相同但对敌人不同的值,您可以制作一个。只需右键单击其中一个值(例如指针),然后单击Add Element。选择“4 Bytes”作为数据类型,并给它一个不取的偏移数值。偏移量编号列在数据剖析结构表的左侧。
![](https://img-blog.csdnimg.cn/img_convert/df82a6af8b6f1ebdadecd5a2ad386174.jpeg)
9
请注意该值的寄存器。无论您是查看寄存器视图还是数据剖析视图,寄存器值都在左侧。在寄存器视图中,它将是指令写入的实际寄存器(即 RSI、RDX、EDX 等)。如果您正在查看数据结构,则寄存器将是左侧列出的偏移量数字或字母。
![](https://img-blog.csdnimg.cn/img_convert/bd5984bf3b40a18d76df18afa7072488.jpeg)
10
为指令打开一个新的代码注入模板。返回到 Memory Viewer 窗口并为写入不同地址的指令打开一个新的代码注入模板。使用以下步骤执行此操作:
单击 Memory Viewer 窗口中的指令。单击顶部菜单栏中的工具。单击自动装配器。单击顶部菜单栏中的模板。点击代码注入。
![](https://img-blog.csdnimg.cn/img_convert/5efd085cfd1972e4bd921d9326f94ff3.jpeg)
11
为要影响的对象创建一个新标签。标签列在代码注入模板的顶部。在现有标签下方为要影响的对象添加新标签。要添加标签,只需label在括号中键入标签名称即可。例如,“标签(玩家)”或“标签(敌人)”。
![](https://img-blog.csdnimg.cn/img_convert/89af4478a9603ce749041648a5eef468.jpeg)
12
为您刚刚创建的标签创建一个新部分。要为标签创建新部分,请在原始代码之前或之后的任意位置键入标签名称,后跟冒号 (:)。
![](https://img-blog.csdnimg.cn/img_convert/d410e9e6624da3e6e37d6fc86fedaff7.jpeg)
13
将代码添加到更改要影响的对象的值的标签中。这需要一点汇编代码的知识。您需要添加一行代码,以您想要更改的方式更改您想要更改的对象的值。然后你需要添加一行跳转到出口,原始代码,返回代码。
![](https://img-blog.csdnimg.cn/img_convert/bd5ec7ab56dab9b7f8bd0b73b6abef40.jpeg)
14
在“newmem”下面创建一个比较代码。代码注入模板中的“newmem:”行表明该指令正在调用一个新的内存地址。通常,它将直接进入具有 (code:) 或 (originalcode:) 标签的原始代码。使用“cmp”命令创建一行代码,比较注册表或注册表中不同对象的值加上偏移量。例如,如果偏移量为 14 的 RDX 从计算机团队中确定了玩家团队,并且玩家团队的值为 1,则您将键入cmp [rbx+14],1以检查对象是否为玩家。
![](https://img-blog.csdnimg.cn/img_convert/e94d15913e85c181bfd5a35d889670a3.jpeg)
15
添加一行代码,跳转到要更改的对象的部分。使用“je”命令跳转到您的比较命令部分。例如,如果您的标签名为“播放器”,je player如果值比较对应播放器,则添加行以跳转到播放器部分。
![](https://img-blog.csdnimg.cn/img_convert/106f74c36a4692c39f362a79f4c8141c.jpeg)
16
添加跳转到原始代码的代码。在您创建一行代码以跳转到要更改的对象的部分后,如果值与玩家或盟友不对应,则需要添加一行代码以跳转到原始代码。使用“jmp”命令在跳转到原始代码的代码行之后创建一行代码跳转到原始代码(或您创建的另一组执行不同操作的代码)。
保持简单的一种方法是不添加任何新标签。只需在“newmen:”末尾创建一个比较代码,以区分盟友和敌人。然后添加一行代码,如果是盟友则跳转到出口。如果是敌人,让它跳转到原始代码。这将使得如果玩家或盟友受到攻击(或使用消耗品等开火武器),什么都不会改变,但如果敌人受到攻击,代码将正常执行。
![](https://img-blog.csdnimg.cn/img_convert/1df51e4161f9cafa2c86a452b9f875d2.jpeg)
17
单击执行。这将执行您输入的代码。如果一切顺利,您将注入区分盟友和敌人的新代码。以下是一个简单的脚本示例,您可以使用它来区分盟友和敌人:
alloc ( newmem , 2048 , " Tutorial-x86_64.exe "+ 2 EB6D )
label ( returnhere )
label ( originalcode )
label ( exit )
label ( player ) //播放器的新 标签 。
newmem: //这会 调用 一个 新的 内存 地址。
cmp [ rbx + 14 ], 1 // 这将 区分 友方团队成员和敌方团队je player //如果对象在玩家的团队中,则跳转到玩家部分。jmp originalcode //跳转到_ _
如果对象是敌方团队,则为原始代码。
player : //这 会为玩家的队伍创建 一个 新 部分 jmp exit //这会跳转到出口并且对玩家的队伍没有任何作用。
originalcode: //这 是 原始 代码段movss [ rbx + 08 ] , xmm0 //这会执行原始 指令(针对敌方队伍)
exit: //本 节 结束 此 脚本。
jmp 回到这里
" Tutorial-x86_64.exe "+ 2 EB6D :
jmp newmem
返回这里:
部分8
了解作弊引擎
![](https://img-blog.csdnimg.cn/img_convert/6b20c6801fd0dc1e165765edc5a1f6f1.jpeg)
1
了解作弊引擎的工作原理。作弊引擎可以访问存储在计算机随机存取存储器 (RAM) 中的数据片段。当您运行某个软件(例如游戏)时,信息会从硬盘驱动器等静态存储位置传输到您的 RAM。从那里,可以读取和写入信息。作弊引擎允许您扫描存储在 RAM 中的信息并更改信息。
![](https://img-blog.csdnimg.cn/img_convert/0b80447d361b5f1d64127e1bf907769c.jpeg)
2
理解术语。作弊引擎处理大量高级计算机代码。为了让事情更容易理解,理解一些涉及的术语会有所帮助。以下是作弊引擎中使用的一些术语:
值:值是计算机程序中附加了数值的任何东西。它可以是您的健康百分比,您拥有的弹药数量或您拥有的物体的数量。作弊引擎允许您扫描变量并对其进行更改。地址:地址是信息在 RAM 中存储的位置。有时,值的位置可能会改变。数据类型:数据类型是值的存储方式。I 可以是字节(即 2 字节、4 字节或 8 字节),也可以是浮点数或双精度数。指针:指针是一个地址,其中包含一个由另一个地址写入的值。这些地址可能会在您每次加载游戏时更改,或者在游戏进行中的某个时候更改。
![](https://img-blog.csdnimg.cn/img_convert/692c820cb17eae2af880844ffb55305b.jpeg)
3
了解 Cheat Engine 不适用于许多游戏。任何具有某种形式的作弊保护或在线多人游戏功能的游戏都不能与 Cheat Engine 一起使用,并且尝试使用 Cheat Engine 通常会导致您的帐户或个人资料被禁止在线玩。
如果您能够以某种方式使用作弊引擎来获取通常用真钱购买的资源,您可能会因盗窃而受到起诉。CE是一款备受瞩目的软件,因此大多数游戏都有某种形式的保护措施。
![](https://img-blog.csdnimg.cn/img_convert/6ccafc28c88d80ed9f4fef9253a69e66.jpeg)
4
了解哪些游戏可以与CE一起使用。较早的单人游戏和一些 Steam 单人游戏应该可以使用 Cheat Engine,但相关游戏必须具有一些您可以查看和更改的屏幕值。
许多没有社区链接的在线 Flash 游戏(例如,没有多人游戏和没有高分)也与 Cheat Engine 兼容。
|