2.6 CE修改器:代码注入功能
从本关开始,各位会初步接触到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=01A4A3C8
而EBX+4A4
则正好等于1A4A86C
也就是动态的内存地址。
读者可通过点击显示反汇编程序来到反汇编位置处,如下图所示;
根据题目要求,将减法改为加法,每次数据变为增加而不是减少,打开"自动汇编窗口"( 菜单 -> 工具 -> 自动汇编 或 按下快捷键 Ctrl+A ),选择 "模板" 中的 "代码注入"。CE 将自动生成一部分汇编代码并为你输入指令做好准备(如果 CE 没有给出正确的地址,你也可以手工输入它)。
根据题目要求,需要将减法每次减少1改为每次增加2,此时可直接add dword ptr [ebx+000004A4],03
增加一个3,点击执行按钮分配作弊代码;
至此当用户再次尝试点击打我是,则每次会增加2点,该功能就这样被实现了。
2.6 CE修改器:代码注入功能的更多相关文章
- CE修改器使用教程 [入门篇]
Cheat Engine 一般简称CE,是一个开放源代码的作弊软件,其功能包括:内存扫描.十六进制编辑器.调试工具,Cheat Engine 自身附带了外挂制作工具,可以用它直接生成外挂工具,CE可以 ...
- CE修改器修改DNF 测试视频 阿修罗提升智力增加攻击力
使用CE修改器来修改网络游戏,如DNF 测试视频: CE修改器:指的是Cheat Engine,字面上的意思指的是作弊引擎的意思,是一款内存修改编辑工具.通过修改游戏的内存数据来得到一些原本无法实现的 ...
- Blender 之修改器代码分析
Blender的修改器(modifier)模块,默认界面右下块(Property)面板的扳手,分类(修改.生成.形变.模拟)列出所有的修改器.也可以空格键 ...
- CE修改器使用教程 [基础篇]
Cheat Engine 是一款内存修改编辑工具 ,它允许你修改你的游戏或软件内存数据,以得到一些其他功能.它包括16进制编辑,反汇编程序,内存查找工具.与同类修改工具相比,它具有强大的反汇编功能, ...
- Steam游戏《Zengeon(神明在上)》修改器制作-[先使用CE写,之后有时间的话改用C#](2020年寒假小目标06)
日期:2020.01.30 博客期:138 星期四 [温馨提示]: 只是想要修改器的网友,可以直接点击此链接下载: 只是想拿CT文件的网友,可以直接点击此链接下载: 没有博客园账号的网友,可以将页面下 ...
- ce游戏内存修改器(Cheat Engine)
ce修改器(Cheat Engine)一款专门修改内存修改编辑的游戏工具它包括16进制编辑,反汇编程序,内存查找工具新版6.1 版的CE与6.0 最大的区别就是添加了修改器制作工具,比之前 5.6.1 ...
- 利用内存锁定技术防止CE修改
利用内存锁定技术防止CE修改 通过这种在R3环利用的技术,我们可以来达到保护内存的目的,像VirtualProtect等函数来修改页属性根本无法修改. 而CE修改器推测应该使用VirtualProte ...
- Steam游戏《Nine Parchments(九张羊皮纸)》修改器制作-[先使用CE写,之后有时间的话改用C#](2020年寒假小目标02)
日期:2020.01.09 博客期:122 星期四 [温馨提示]: 只是想要修改器的网友,可以直接点击此链接下载: 只是想要部分CT文件的网友,可以直接点击此链接下载: 没有博客园账号的网友,可以将页 ...
- 翻译文章“AST 模块:用 Python 修改 Python 代码”---!!注意ironpathyon未实现此功能
https://github.com/upsuper/blog/commit/0214fdd084c4adf2de2ed9912d644fb59ce13a1c +Title: [翻译] AST 模块: ...
- Steam 游戏 《The Vagrant(流浪者)》修改器制作-[先使用CE写,之后有时间的话改用CheatMaker](2020年寒假小目标08)
日期:2020.02.07 博客期:146 星期五 [温馨提示]: 只是想要修改器的网友,可以直接点击此链接下载: 只是想拿CT文件的网友,可以直接点击此链接下载: 没有博客园账号的网友,可以将页面下 ...
随机推荐
- AliPLC 智能丢包补偿算法,提升弱网环境的通话质量
在线视频/语音通话逐渐成为人们日常生活的一部分,而复杂多变的网络环境会导致部分音频包无法传送到接收端,造成语音信号的短时中断或者卡顿,这会严重影响通话体验,为解决这类问题,阿里云视频云音频技术团队在综 ...
- #2051:Bitset(进制转化)
Problem Description Give you a number on base ten,you should output it on base two.(0 < n < 10 ...
- 【每日一题】15.Xorto (前缀和枚举)
补题链接:Here 题意:选取任意不重叠的两个区间,使异或结果为 \(0\) 样例:\(1,2,3,4,5,5\) 在样例中我们可以选取 \(1,2,3\) 和 \(5,5\) 就是满足题意 思路:相 ...
- 图解 Promise 实现原理(一)—— 基础实现
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/UNzYgpnKzmW6bAapYxnXRQ作者:孔垂亮 很多同学在学习 Promise 时,知 ...
- SpringCloud学习 系列三、 创建一个没有使用springCloud的服务提供者和消费者
系列导航 SpringCloud学习 系列一. 前言-为什么要学习微服务 SpringCloud学习 系列二. 简介 SpringCloud学习 系列三. 创建一个没有使用springCloud的服务 ...
- vue 状态管理 三、Mutations和Getters用法
系列导航 vue 状态管理 一.状态管理概念和基本结构 vue 状态管理 二.状态管理的基本使用 vue 状态管理 三.Mutations和Getters用法 vue 状态管理 四.Action用法 ...
- Java 21新特性-虚拟线程 审核中
本文翻译自国外论坛 medium,原文地址:https://medium.com/@benweidig/looking-at-java-21-virtual-threads-0ddda4ac1be1 ...
- Kubernetes 疑难杂症汇总
1. 部署报错:The requested fsGroup is 123, but the volume local-pv-c7ef339e has GID 1000710000. The volum ...
- JMeter接口性能测试使用
下载完JMeter以后,通过JMeter.bat启动JMeter,打开JMeter界面如下所示: 右击"测试计划">添加>Threads(Users)>线程组.J ...
- AHB to Sram设计
规格说明 现在要对addr1进行操作(原addr1中存储的数据为data),现在需要写入data1,下一拍对addr1进行读操作,需要读出data1(读出最新的数据data1,而不是data),这时候 ...