新手如何使用Cheat Engine (CE) 来修改“我的世界“?

本文介绍了如何在Windows和Mac上安装及使用Cheat Engine来修改‘我的世界’游戏。详细步骤包括下载安装CE,打开游戏进程,扫描和识别游戏中的数值,以及如何通过内存编辑来改变游戏状态。文章提醒读者注意,CE不适用于有作弊保护或在线多人游戏,使用时需谨慎。
摘要由CSDN通过智能技术生成


 

教你如何使用CE来利用一些电脑游戏。作弊引擎是一种内存扫描工具。它允许您访问存储在计算机内存中的数据并更改该数据。这使您可以更改游戏中的信息,例如健康、弹药、分数、生命以及库存中的物品数量。

部分1
安装CE
  1. 1
    打开CE页面。在您计算机的网络浏览器中 访问https://cheatengine.org/downloads.php 。
  2. 2
    点击下载CE这是页面中间的一个大链接。
    • 该按钮还将列出当前版本的CE(例如,下载CE 6.7)。
    • 如果您尝试在 Mac 上使用 Cheat Engine,请改为单击Download Cheat Engine 6.2 For Mac链接。
  3. 3
    安装作弊引擎。这样做会因计算机的操作系统而异:
    • Windows — 双击 Cheat Engine 安装文件,出现提示时单击Yes ,单击Next,选中“我同意”框并单击Next,再单击3 次,取消选中“我同意安装 McAfee WebAdvisor”框并单击Next,然后单击安装。设置完成后,如果出现提示,请单击Next,然后单击Finish
    • Mac — 双击 Cheat Engine DMG 文件,如果出现提示,请验证安装,单击 Cheat Engine 徽标并将其拖到“应用程序”文件夹中,然后按照屏幕上的说明进行操作。
  4. 4
    打开作弊引擎。安装完作弊引擎后,打开开始

    (Windows) 或 Launchpad (Mac),然后单击作弊引擎选项。
    • 您可能必须单击打开才能打开作弊引擎。

部分2

在作弊引擎中打开游戏进程

  1. 开始游戏。打开您要与作弊引擎一起使用的游戏。
    • 请记住,这不能是在线多人游戏或基于服务器的游戏。
  2. 2
    单击“进程”图标。在作弊引擎窗口中,点击左上角的电脑图标。这将打开一个弹出窗口,其中包含您计算机的当前程序。
  3. 3
    选择你的游戏进程。滚动进程列表,直到找到您的游戏,然后单击游戏名称。如果您尝试将 Cheat Engine 用于浏览器游戏,您将选择浏览器的名称。
    • 如果您的游戏未出现在“进程”列表中,则您无法在 Cheat Engine 中对其进行编辑。
    • 您可能首先需要单击窗口顶部的进程选项卡。

  4. 单击确定它位于窗口的底部。这将在作弊引擎中打开游戏。

寻找和改变游戏中的价值
  1. 确定要改变的游戏方面。为了让您能够更改游戏方面,方面必须附有一个数字(例如,弹药量、生命值或物品)。
    • 号码必须在屏幕上。例如,如果您想更改库存中某个项目的编号,您首先必须将库存打开到该项目编号可用的页面。
  2. 2
    最小化游戏窗口并点击 Cheat Engine。您需要在游戏最小化时打开作弊引擎窗口。
    • 执行此操作时不要暂停游戏。
  3. 3
    单击新建扫描它位于左侧面板旁边的作弊引擎顶部。任何时候要扫描新值时,都需要单击New Scan
  4. 4
    选择扫描类型。开始新扫描时,您可以执行五种扫描类型。您将使用的两个主要参数是“精确值”和“未知初始值”。使用“扫描类型”旁边的下拉菜单选择您要执行的扫描类型。扫描类型如下:
    • 精确值:如果您知道要更改的确切数字,请使用此扫描类型。例如,如果您知道确切的生命数量或拥有的弹药数量,则可以选择此选项。
    • 未知的初始值:在视频游戏中,有时值不是用数字表示的。例如,您的健康状况可能由健康计量器而不是数字来表示。在这种情况下,你没有一个确切的数字来说明你有多少健康。有一个数字代表您的健康,您只是在屏幕上看不到它。在这种情况下,您可以选择Unknown initial value
    • 大于...:'如果您不知道要查找的确切数字,但您知道可能的最小值,请选择此选项。
    • 小于...:如果您不知道确切的值,但您知道可能的最大值,请选择此选项。
    • 介于...之间的值:此选项允许您输入要查找的值范围。
  5. 选择数据类型:数据类型表示值在内存中的存储方式。可能很难知道要选择什么数据类型,所以这可能需要一些猜测。使用“数据类型”旁边的下拉菜单选择数据类型。如果使用一种数据类型找不到您要查找的值,请单击“新建扫描”并使用其他数据类型重试。您将使用的一些更常见的数据类型如下:
    • 字节: 2 字节和 4 字节是您最常使用的数据类型。大多数 Windows 应用程序使用 4 字节,所以从它开始。您还可以使用 2 字节找到这些值。1 字节和 8 字节也可以工作,但您可能会遇到问题。
    • 浮点数:浮点数据类型是值中有小数点的值(尽管您可能在游戏中看不到小数点)。有时游戏将值存储为浮点数以防止简单的内存扫描。如果您无法通过扫描字节找到您要查找的值,请尝试扫描浮点数。
    • 双精度:双精度与浮点数类似,但它们可以包含两倍的位数。如果您无法通过扫描字节或浮点数来找到值,请尝试将其作为双精度数进行扫描。
    • 全部:此选项扫描所有数据类型的所有值。如果您不知道要搜索什么,这是一个不错的选择,但它也会返回更多您需要缩小范围的搜索结果。
  6. 输入您要更改的值,然后单击First scan例如,如果您的弹药中还剩 20 颗子弹,您可以20在“值”文本框中输入。这将扫描所有包含数字“20”的值。这可能会在地址列表中产生一长串值,您需要将其缩小一点。
  7. 返回您的游戏并更改值。你如何做到这一点将取决于游戏本身;例如,如果您想给自己更多的健康,您可能会故意损害自己的健康以降低数量。如果你想要更多的弹药,你可以开几枪来减少你的弹药数量。
  8. 返回作弊引擎并扫描更新的数值。再次最小化游戏并点击返回作弊引擎。在“值”部分输入新数字,然后单击Next Scan。这将扫描您第一次扫描中的所有值,并将地址缩小到更改为您在“值”栏中输入的值的地址。
    • 未知初始值:如果您为第一次扫描选择了“未知初始值”,请根据值(或米)是增加还是减少,在“扫描类型”下选择增加值减少值。这将扫描所有增加或减少的值,而不是扫描确切的数字。
  9. 重复搜索过程,直到您有 4 个或更少的值。您将不断更改数字,然后搜索更新的数字,直到作弊引擎左侧列出的值不超过 4 个。
    • 您最终应该会在每个值的数字的“上一个”列中看到您搜索的上一个数字,而该项目的当前值将在“值”列中。
  10. 将值添加到地址列表。您可以双击一个值将其添加到底部的地址列表中,也可以单击一个地址将其选中,然后单击值列表右下角的红色对角箭头。这样做会将值放在窗口底部的地址列表中。
    • 要选择多个地址,您可以按住“Shift”并单击顶部地址和底部地址。
  11. 将数字更改为您想要的值。使用以下步骤更改值编号:
    • 双击作弊引擎底部列表中“值”下方的数字。
    • 在“值”字段中输入一个新数字。
    • 单击确定
  12. 12
    检查您的游戏中的值是否更新。当您重新打开游戏时,您编辑的值应该反映您刚刚输入的数字。下一部分将教您如何通过将值替换为非操作代码来阻止值更改。
    • 您可能需要再次更改该值,然后它才会更新。

部分4
替换代码以阻止值更改
  1. 1
    扫描要停止的值这部分教你如何使用代码查找器找到写入要更改的地址的内容,然后将其替换为非操作代码。这将防止价值在游戏中发生变化。使用上一部分中的步骤查找要更改的值。将其添加到屏幕底部的列表中。
  2. 2
    右键单击该地址,然后单击Find out what access this address这将打开作弊引擎调试器。这将显示写入您正在访问的地址的指令。
  3. 3
    单击这确认您希望将调试器附加到 Cheat Engine 进程。这将打开代码调试器。当窗口第一次打开时,列表将是空白的。
  4. 4
    返回游戏并再次更改值。再一次,回到你的游戏并做一些事情来改变你想要停止的价值。这将导致访问您选择的地址的代码指令出现在调试器窗口中。
  5. 5
    返回作弊引擎并单击列表中的指令。可能有多个地址。如果是这种情况,请选择不写入相同基地址的那个。查找“[' 和”] 括号之间的值与其他指令不同的指令。
  6. 6
    单击替换这将代码替换为非操作 (NOP) 代码。[1]
    • 如果列表中有多个项目,请继续并选择所有项目。
  7. 7
    单击停止这使非操作代码生效。这将防止价值在游戏中发生变化。
    • 要恢复原始代码,请选择列表中的项目并单击Show disassembler。右键单击显示“NOP”的位置,然后单击使用原始代码还原。如果您没有看到此选项,请单击Replace with code that does nothing,单击Yes。然后再次右键单击NOP并选择Restore with orignal code

部分5
使用指针查找写入值的内容
  1. 1
    扫描要更改的值有时值可以在您重新启动游戏时或在游戏中间更改地址。您可以使用指针来查找写入地址的内容。一旦找到不变的基级静态地址,就可以更改该值。
  2. 2
    右键单击该地址,然后单击Find out what writes to this address这将打开调试器窗口。
    • 如果有多个地址,请为作弊引擎允许的尽可能多的地址打开一个调试器窗口。
  3. 3
    返回游戏并再次更改值。再一次,回到你的游戏并做一些事情来改变你想要改变的价值(即开火,被击中)。这将导致写入该地址的指令出现在调试器窗口中。
    • 如果调试器窗口中没有任何变化,则它不是正确的地址。尝试不同的。
  4. 4
    返回作弊引擎并单击列表中的指令。它在调试器窗口中。可能有多个地址。如果是这种情况,请查找在“[”和“]”括号之间具有不同字符集的指令。如果没有单个地址具有不同的字符,请检查指针是否对所有人来说都是一样的。
    • 如果字符末尾有一个+ 和一个数字(即[ESI+14])。那是一个偏移量。写下来。你稍后会需要它。
  5. 5
    单击更多信息这将显示当 Extra Info 屏幕中的值更改时发生的说明。这也列出了写入地址的指针。
    • 您还可以通过检查括号中的字符,然后检查底部列出的这些字符后面的数字来找到地址。例如,如果地址旁边有“[rdx]”,则在底部查找 RDX=xxxxxxxx。
  6. 6
    单击“十六进制”旁边的复选框并重新扫描指针地址。指针的地址列在“查找此地址所需的指针的值可能是 xxxxxxxxx”的文本中。使用以下步骤搜索此句末尾的地址。
    • 单击新建扫描
    • 单击“值”字段旁边的“十六进制”复选框。
    • 在 Value 字段中输入指针地址,然后单击First scan
  7. 7
    双击指针地址。这会将地址添加到作弊引擎底部的列表中。
    • 如果地址在扫描结果中以绿色列出。这意味着它是一个静态地址,可能是您正在寻找的指针。在某些情况下,您找到的指针也可能是指针。这称为多级指针。在这种情况下,您需要对找到的每个指针重复这些步骤,以找出根静态指针地址是什么。
  8. 8
    双击“地址”下方的数字。这将打开“更改地址”对话框。
  9. 9
    复制字段中的地址,然后单击取消要复制地址,只需突出显示“更改地址”框顶部字段中的整个文本。右键单击它,然后单击复制。然后单击“取消”关闭该字段。
  10. 10
    单击手动添加地址它是作弊引擎底部地址列表上方左侧的按钮。这将打开一个类似于“更改地址”框的框,除了这个框允许您添加地址。
  11. 11
    单击“指针”旁边的复选框。这会扩展该框并添加一个新的文本字段,您可以在其中输入指针。
  12. 12
    将指针地址粘贴到“指针”下方的字段中,然后单击确定这将为控制要更改的值的指针添加一个新地址。您刚刚创建的指针的地址将显示为“P-->xxxxxxxx”。这表明这是一个指向特定地址的指针。
    • 如果有偏移编号,请将其输入到粘贴地址的字段上方的空白处。
    • 如果有多个指针,请单击添加偏移量。这将在您粘贴地址的区域上方添加更多偏移量数字框。在每个框中输入正确的偏移量。
  13. 13
    单击刚刚添加的指针地址旁边的“活动”框。它是屏幕底部列表地址列表中“活动”下方的框。这会激活指针。
  14. 14
    更改您刚刚添加的地址的值。您刚刚创建的指针地址的值编号应该与您搜索的值的地址相同。如果指针写入不同的位置,您扫描的原始地址将不再有效。但是,您仍然可以更改刚刚创建的指针地址的值。无论将值位置写入何处,这都将起作用。单击您刚刚添加的地址的“值”下方的数字。输入一个新的数值并点击Ok

部分6
使用代码注入更改代码
  1. 1
    扫描要停止的值这部分教你如何使用代码注入来改变代码写入值的方式。例如,如果您每次被击中都会失去生命值,您可以更改代码,以便在被击中时增加生命值。
  2. 2
    右键单击该地址,然后单击Find out what access this address这将打开作弊引擎调试器。
  3. 3
    单击这确认您希望将调试器附加到 Cheat Engine 进程。这将打开代码调试器。当窗口第一次打开时,列表将是空白的。
  4. 4
    返回游戏并再次更改值。再一次,回到你的游戏并做一些事情来改变你想要停止的价值。这将导致访问您选择的地址的代码出现在调试器窗口中。
  5. 5
    返回游戏并再次更改值。再一次,回到你的游戏并做一些事情来改变你想要停止的价值。这将导致写入该地址的指令出现在调试器窗口中。
  6. 6
    返回作弊引擎并单击列表中的指令。可能有多个地址。如果是这种情况,请在指令中查找包含单词“sub”的指令以从值中减去,或者查找包含单词“add”或“inc”的指令以增加值。
  7. 7
    单击显示反汇编程序这将打开反汇编程序中的代码。
  8. 8
    选择减去或增加值的代码。它通常是代码顶部的第一条指令。它很可能在代码的开头有单词“Sub”或“Add”,以从值中减去或添加到它。
  9.  

    单击工具,然后单击自动组装这将打开自动汇编程序。
  10. 10
    单击模板,然后单击完全注入这将显示一个弹出窗口,确认您要将代码注入的地址。
  11. 11
    确保地址正确,然后单击确定确保该字段中的地址与您在 Memory Viewer 反汇编器窗口中选择的地址相同。然后单击确定。这将打开一个新模板。
  12. 12
    将代码替换为相反的代码。向下滚动到显示“代码”的位置。它下面的行是更改值的代码。如果该行以“sub”开头,则将“sub”更改为“add”。如果该行以“add”开头,则将其更改为“sub”。您还可以更改行尾的值,以更改您希望它更改值的程度。
  13. 13
    单击执行,然后单击两次。“执行”按钮位于代码注入窗口的底部。系统将询问您是否确定要注入代码。单击确认。然后您可以单击在反汇编程序中打开新代码。如果代码注入成功,则游戏中的值将与它们应该做的相反。您可以通过射击武器而不是丢失弹药来获得弹药。当你被击中而不是失去健康时,你可以获得健康。

部分7
区分具有共享代码的对象
  1. 1
    扫描要停止的值在某些游戏中,多个对象共享相同的代码。将代码注入一个对象也会影响所有其他对象。因此,您可能会冻结自己的健康条,结果却发现所有敌人的健康也被冻结了。在这种情况下,你需要弄清楚如何区分不同的对象,并注入一个只影响你想要的对象的脚本。
    • 为了为不同的对象注入脚本,你需要知道一些汇编代码。但是,创建一个基本脚本并不难。
  2. 2
    右键单击该地址,然后单击Find out what writes to this address一旦确定了要更改或停止的值的地址,找出写入这些地址的内容,打开调试器并找出写入该地址的内容。
  3. 3
    选择指令并单击Show disassembler这是打开调试器时突出显示的指令。这将显示代码反汇编程序中的指令。
  4. 4
    右键单击顶部指令,然后单击找出该指令访问的地址这将打开一个窗口,其中显示指令在写入新地址时访问的所有地址的列表。
  5. 5
    允许游戏中的所有对象更改其值。这将显示指令访问的所有地址的列表。例如,如果您试图阻止您的健康栏发生变化,您可以返回您的游戏并受到打击。这将在访问地​​址列表窗口中显示访问该地址的指令。如果你击中了一个也共享该指令的敌人,它也会显示在访问地址列表窗口中。
  6. 6
    在访问地址列表窗口中选择所有地址。一旦您拥有访问地址列表中所有共享相同地址的对象的地址,只需单击并拖动以突出显示所有对象。
    • 或者,您可以右键单击每个单独的地址,然后单击Show register states[2]
  7. 7
    剖析所有列出地址的结构数据。使用以下步骤来剖析地址列表的数据结构:
    • 右键单击选定的地址。
    • 单击打开带有选定地址的解剖数据
    • 单击确定
    • 输入数据结构的名称并单击Ok
    • 单击
    • 输入结构的起始大小或保持原样,然后单击Ok
  8. 8
    找到一个对玩家相同但对其他对象不同的值。无论您是查看每个对象的数据结构还是寄存器,您都需要找到一个对所有盟友都相同但对敌人不同的值。例如,如果团队 1 有两个玩家角色,而团队 2 有两个计算机控制的角色,那么团队 1 的角色可以用值 1 表示,而团队 2 的值可能是 2。
    • 如果找不到对盟友相同但对敌人不同的值,您可以制作一个。只需右键单击其中一个值(例如指针),然后单击Add Element。选择“4 Bytes”作为数据类型,并给它一个不取的偏移数值。偏移量编号列在数据剖析结构表的左侧。
  9. 9
    请注意该值的寄存器。无论您是查看寄存器视图还是数据剖析视图,寄存器值都在左侧。在寄存器视图中,它将是指令写入的实际寄存器(即 RSI、RDX、EDX 等)。如果您正在查看数据结构,则寄存器将是左侧列出的偏移量数字或字母。
  10. 10
    为指令打开一个新的代码注入模板。返回到 Memory Viewer 窗口并为写入不同地址的指令打开一个新的代码注入模板。使用以下步骤执行此操作:
    • 单击 Memory Viewer 窗口中的指令。
    • 单击顶部菜单栏中的工具。
    • 单击自动装配器
    • 单击顶部菜单栏中的模板。
    • 点击代码注入
  11. 11
    为要影响的对象创建一个新标签。标签列在代码注入模板的顶部。在现有标签下方为要影响的对象添加新标签。要添加标签,只需label在括号中键入标签名称即可。例如,“标签(玩家)”或“标签(敌人)”。
  12. 12
    为您刚刚创建的标签创建一个新部分。要为标签创建新部分,请在原始代码之前或之后的任意位置键入标签名称,后跟冒号 (:)。
  13. 13
    将代码添加到更改要影响的对象的值的标签中。这需要一点汇编代码的知识。您需要添加一行代码,以您想要更改的方式更改您想要更改的对象的值。然后你需要添加一行跳转到出口,原始代码,返回代码。
  14. 14
    在“newmem”下面创建一个比较代码。代码注入模板中的“newmem:”行表明该指令正在调用一个新的内存地址。通常,它将直接进入具有 (code:) 或 (originalcode:) 标签的原始代码。使用“cmp”命令创建一行代码,比较注册表或注册表中不同对象的值加上偏移量。例如,如果偏移量为 14 的 RDX 从计算机团队中确定了玩家团队,并且玩家团队的值为 1,则您将键入cmp [rbx+14],1以检查对象是否为玩家。
  15. 15
    添加一行代码,跳转到要更改的对象的部分。使用“je”命令跳转到您的比较命令部分。例如,如果您的标签名为“播放器”,je player如果值比较对应播放器,则添加行以跳转到播放器部分。
  16. 16
    添加跳转到原始代码的代码。在您创建一行代码以跳转到要更改的对象的部分后,如果值与玩家或盟友不对应,则需要添加一行代码以跳转到原始代码。使用“jmp”命令在跳转到原始代码的代码行之后创建一行代码跳转到原始代码(或您创建的另一组执行不同操作的代码)。
    • 保持简单的一种方法是不添加任何新标签。只需在“newmen:”末尾创建一个比较代码,以区分盟友和敌人。然后添加一行代码,如果是盟友则跳转到出口。如果是敌人,让它跳转到原始代码。这将使得如果玩家或盟友受到攻击(或使用消耗品等开火武器),什么都不会改变,但如果敌人受到攻击,代码将正常执行。
  17. 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
了解作弊引擎
  1. 1
    了解作弊引擎的工作原理。作弊引擎可以访问存储在计算机随机存取存储器 (RAM) 中的数据片段。当您运行某个软件(例如游戏)时,信息会从硬盘驱动器等静态存储位置传输到您的 RAM。从那里,可以读取和写入信息。作弊引擎允许您扫描存储在 RAM 中的信息并更改信息。
  2. 2
    理解术语。作弊引擎处理大量高级计算机代码。为了让事情更容易理解,理解一些涉及的术语会有所帮助。以下是作弊引擎中使用的一些术语:
    • 值:值是计算机程序中附加了数值的任何东西。它可以是您的健康百分比,您拥有的弹药数量或您拥有的物体的数量。作弊引擎允许您扫描变量并对其进行更改。
    • 地址:地址是信息在 RAM 中存储的位置。有时,值的位置可能会改变。
    • 数据类型:数据类型是值的存储方式。I 可以是字节(即 2 字节、4 字节或 8 字节),也可以是浮点数或双精度数。
    • 指针:指针是一个地址,其中包含一个由另一个地址写入的值。这些地址可能会在您每次加载游戏时更改,或者在游戏进行中的某个时候更改。
  3. 3
    了解 Cheat Engine 不适用于许多游戏。任何具有某种形式的作弊保护或在线多人游戏功能的游戏都不能与 Cheat Engine 一起使用,并且尝试使用 Cheat Engine 通常会导致您的帐户或个人资料被禁止在线玩。
    • 如果您能够以某种方式使用作弊引擎来获取通常用真钱购买的资源,您可能会因盗窃而受到起诉。
    • CE是一款备受瞩目的软件,因此大多数游戏都有某种形式的保护措施。
  4. 4
    了解哪些游戏可以与CE一起使用。较早的单人游戏和一些 Steam 单人游戏应该可以使用 Cheat Engine,但相关游戏必须具有一些您可以查看和更改的屏幕值。
    • 许多没有社区链接的在线 Flash 游戏(例如,没有多人游戏和没有高分)也与 Cheat Engine 兼容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Meta.Qing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值