首页 > 其他分享 >2.4 CE修改器:代码替换功能

2.4 CE修改器:代码替换功能

时间:2023-11-13 09:01:14浏览次数:31  
标签:代码 写入 点击 CE 修改器 内存 内存地址 断点 2.4

代码替换功能,需要使用 Cheat Engine 工具的“代码查找”功能,来查找游戏数据存储在内存中的地址。首先找到当前数值的存储地址,并将其添加到下方地址列表中。然后右键单击该地址,并选择“找出是什么改写了这个地址”,将弹出一个空白窗口。接着,点击本教程窗口上的“改变数值”按钮,并返回 Cheat Engine,如果操作没有问题,在空白窗口中将出现一些汇编代码。选中代码并点击“替换”按钮,将其替换为什么也不做的代码(空指令),同时,修改后的代码也将放置在“高级选项”的代码列表中保存。点击“停止”,游戏将以正常方式继续运行,关闭窗口。现在,再次点击教程窗口上的“改变数值”,如果锁定速度足够快,“下一步”按钮将变为可点击状态。提示:在锁定地址时,如果速度足够快,“下一步”按钮也会变为可点击状态。

某些游戏重新开始时,数据会存储在与上次不同的地方, 甚至游戏的过程中数据的存储位置也会变动。在这种情况下,你还是可以简单几步搞定它。这次我将尽量阐述如何运用 "代码查找" 功能。

本关同样需要使用精确数值扫描的内容来得到一个唯一的内存地址,读者可通过自己的尝试来找到这个地址,如下图所示;

当读者找到这个内存地址后,可在该地址上方右键,并选中找出是什么改写了这个地址,这就意味着当进程内的数值再次发生变化时,改写代码就可显示在列表中;

当读者点击改写按钮后CE则会监控这个内存区域,回到进程中点击改变这个数值,则CE会输出如下图所示的一段汇编代码;

CE修改器中所实现的是什么访问了内存地址以及是什么改写了内存地址其本质上是修改器在特定内存区域设置了内存断点,内存访问断点和内存写入断点都是用于对内存访问的监控和跟踪功能。

  • 内存访问断点 [Access Breakpoint] 是指监控指定内存地址的读取操作(如MOV、MOVSX、MOVZX指令),当程序执行这些指令进行读取操作时,内存访问断点会中断程序运行,弹出断点信息窗口,并暂停程序的执行,以便进行调试和修改。

  • 内存写入断点 [Write Breakpoint] 是指监控指定内存地址的写入操作(如MOV、ADD、SUB、PUSH、POP指令),当程序执行这些指令进行写入操作时,内存写入断点会中断程序运行,弹出断点信息窗口,并暂停程序的执行,以便进行调试和修改。

两者的主要区别在于监控的操作不同,内存访问断点监控的是对内存地址的读取操作,而内存写入断点监控的是对内存地址的写入操作。根据实际需要进行选择,使用内存访问断点或内存写入断点能够更方便地定位和排除程序问题,提高程序的可靠性和稳定性。

因为上图中我们选择的是改写地址,所以下的是内存写入断点,一旦特定内存区域被写入数据时,则断点会自动停留在修改此段数据的汇编指令上面,

此时我们选中代码并点击"替换"按钮,将它替换成什么也不做的代码(空指令),汇编的空指令为 nop,同时,修改后的代码也将放置在"高级选项"的代码列表中去(保存地址列表时会同时保存),至此点击下一步则可通关。

标签:代码,写入,点击,CE,修改器,内存,内存地址,断点,2.4
From: https://www.cnblogs.com/LyShark/p/17828413.html

相关文章

  • 2.5 CE修改器:寻找数值指针
    上一步阐述了如何使用代码替换功能对付变化位置的数据地址,但这种方法往往不能达到预期的效果,所以我们需要学习如何利用指针,在本关的Tutorial.exe窗口下面有两个按钮,一个会改变数值,另一个不但能改变数值而且还会改变数值在内存中存储的位置。接下来我们将找到内存中的基址,为什么要......
  • 2.6 CE修改器:代码注入功能
    从本关开始,各位会初步接触到CE的反汇编功能,这也是CE最强大的功能之一。在第6关的时候我们说到指针的找法,用基址定位动态地址。但这一关不用指针也可以进行修改,即使对方是动态地址,且功能更加强大。代码注入是将一小段你写出的代码注入到目标进程中并执行它的技巧。在这一步教程中,你......
  • 【低功耗蓝牙BLE-2】Generic Access Profile(GAP)协议
    原文链接:https://zhuanlan.zhihu.com/p/527434096?utm_id=0 GAP简介通用访问配置文件(GAP)规定了设备在较低级别如何执行控制程序,如设备发现、连接、安全建立等,以确保互操作性,并允许来自不同供应商设备之间的通信。主要的操作有:发现并与配对广播数据建立安全连接GAP以一......
  • 图片转Excel的python小工具
    安装软件:pipinstallcvpipinstallpaddlepaddle pipinstallpandas-ihttps://pypi.douban.com/simple pipinstallpaddleocr==2.6.0.2-ihttps://pypi.tuna.tsinghua.edu.cn/simplepipinstallpaddleocr paddleocr-2.7.0.3-py3-none-any.whl 代码: pic2Excel.......
  • 在CentOs 7 下的Linux基本操作(一)
    1.目录操作(1)创建目录创建单个目录用mkdir,创建多级目录门mdkir -p  (2)查看目录查看当前目录用pwd   查看实际工作目录用 pwd -P 注意该P为大写  ......
  • excel对比两个文档,判断范围内的取值是否在另一个列表内存在(vlookup函数的使用)
    背景:sheet1表为原始数据:sheet2表为新的数据副本,目标是查询sheet2列表中是否存在sheet1表的数据,并且标记出来,且获取sheet2列表的一些数据至sheet1列表中,补充D与E两列的数据情况: 一、vlookup函数介绍:作用:垂直查找(按列号查找)函数说明:vlookup(lookup_value,table_array,col_......
  • 如何解决Windows电脑 Create folder error,Access is denied.
    如何解决Createfoldererror,Error:mkdirC:\ProgramFiles\nodejs\21.1.0/:Accessisdenied.Waring:Name:http://npm.taobao.org/mirrors/node/v21.1.0/win-x64/node.exeCode:-2Error:Createfoldererror,Error:mkdirC:\ProgramFiles\nodejs\\21.1......
  • 解决javax.persistence.RollbackException: Transaction marked as rollbackOnly Ask
    解决javax.persistence.RollbackException:TransactionmarkedasrollbackOnlyAsk在使用JavaPersistenceAPI(JPA)进行对象关系映射(ORM)的Java企业应用中,经常会遇到javax.persistence.RollbackException异常,其中的错误信息为"TransactionmarkedasrollbackOnly"。这......
  • A Learning Method for Feature Correspondence with Outliers读书笔记
    ALearningMethodforFeatureCorrespondence withOutliers------2022年论文地址:ALearningMethodforFeatureCorrespondencewithOutliers|IEEEConferencePublication|IEEEXplore背景:SuperGlue在许多现实任务中取得了优异的性能,但在处理离群特征方面仍然存在问......
  • 31.random.choice()函数
    生成电脑的随机选择:使用random.choice函数从一组选项中随机选择电脑的出拳选项,将选择存储在另一个变量中print('猜拳游戏开始:')player=input('请出拳(石头/剪刀/布):\n')computer=random.choice(['石头','剪刀','布'])print(f'电脑出拳:{computer}')ifplayer==compu......