首页 > 其他分享 >2.6 CE修改器:代码注入功能

2.6 CE修改器:代码注入功能

时间:2023-11-13 09:00:10浏览次数:40  
标签:操作数 sub 代码 CE eax 修改器 指令 2.6 注入

从本关开始,各位会初步接触到CE的反汇编功能,这也是CE最强大的功能之一。在第6关的时候我们说到指针的找法,用基址定位动态地址。但这一关不用指针也可以进行修改,即使对方是动态地址,且功能更加强大。代码注入是将一小段你写出的代码注入到目标进程中并执行它的技巧。在这一步教程中,你将有一个健康值和一个每按一次将减少 1 点健康值的按钮,你的任务是利用"代码注入",使每按一次按钮增加2点的健康值。

在 Cheat Engine 修改器中使用代码注入功能的步骤如下:

  • 找到需要修改的数值的地址,并查找是什么在改写它。
  • 查找减少数值的汇编代码,选择 [显示反汇编程序],然后打开 [自动汇编窗口]。
  • 在自动汇编窗口中,选择 [模板] 中的 [代码注入]。
  • 在代码注入部分,使用 [ADD] 汇编指令编写你修改数值的代码。
  • 在代码注入部分,使用相同的手法处理减少数值的那条原代码方括号之间的部分。
  • 删除减少数值的原代码行,点击 [应用代码] 使修改生效。

代码注入功能可以将一小段你编写的代码注入到目标进程中并执行它。如果可以找到正确的修改地址和编写适当的代码,代码注入功能可以大大改变游戏行为。需要提醒的是,在操作代码注入前,确保你理解代码的含义,并注意程序的稳定性和安全性。

首先老样子,读者需要通过基础知识找到该数值所对应的内存地址,并找到是什么改写了这个内存地址,如下图所示;

按一下打我按钮,会出现一行汇编代代码004278C3 - 83 AB A4040000 01 - sub dword ptr [ebx+000004A4],01 <<

这条汇编指令的作用是将[ebx+000004A4]地址中的数据减1,sub指令是一条减法指令。它可以用来减去两个操作数中的第二个操作数(源操作数)的值,然后将结果存储到第一个操作数(目的操作数)中。sub指令通常用于数学运算和内存操作。

sub指令的语法如下:

sub destination, source

其中,destination是目的操作数,source是源操作数。两个操作数可以是立即数、寄存器或内存位置。

例如,以下代码将执行一个减法操作:

mov eax, 10  ; 加载10到寄存器eax中
sub eax, 5   ; 从eax中减去5,结果为5

在这个例子中,指令mov用于加载数字10到寄存器eax中,然后指令sub用于从eax中减去数字5。结果将存储回eax寄存器中,所以最终eax的值为5。除了sub指令,还有其他的减法指令,如sbb和dec指令。sbb指令用于减去两个操作数和进位标志位(CF)的和,而dec指令用于将一个操作数减去1。

此时我们打开详细信息列表,会看到如下图所示的数据,其中EBX=01A4A3C8EBX+4A4则正好等于‭1A4A86C‬也就是动态的内存地址。

读者可通过点击显示反汇编程序来到反汇编位置处,如下图所示;

根据题目要求,将减法改为加法,每次数据变为增加而不是减少,打开"自动汇编窗口"( 菜单 -> 工具 -> 自动汇编 或 按下快捷键 Ctrl+A ),选择 "模板" 中的 "代码注入"。CE 将自动生成一部分汇编代码并为你输入指令做好准备(如果 CE 没有给出正确的地址,你也可以手工输入它)。

根据题目要求,需要将减法每次减少1改为每次增加2,此时可直接add dword ptr [ebx+000004A4],03增加一个3,点击执行按钮分配作弊代码;

至此当用户再次尝试点击打我是,则每次会增加2点,该功能就这样被实现了。

标签:操作数,sub,代码,CE,eax,修改器,指令,2.6,注入
From: https://www.cnblogs.com/LyShark/p/17828419.html

相关文章

  • 【低功耗蓝牙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......
  • MATLAB将数据写入Excel表格并添加表头
    MATLAB中写入Excel表格的函数为:xlswrite(filename,data,sheet,Range)其中的函数参数如下:filename:文件名,可以是绝对路径也可以是相对路径data:写入表格文件的数据sheet:写入的工作表,指的是sheet1、sheet2或者自己命名的工作表Range:写入的单元格区域,比如A4,指的是从A4开始写入数......
  • Facebook Ads – 笔记
    前言记入一些小东西 参考YouTube– 这是第一次广告投放回报做到11倍!Facebook广告高广告投资回报2023年终极策略密码分享 价值阶梯先卖便宜value低的东西给客户,甚至免费试用,然后慢慢bringupvalue,让它更多的消费。customer就像上楼梯一样。 销售诱饵价值阶梯......