Cheat Engine 入门操作
Cheat Engine(简称CE,中文名-作弊引擎),用于查找、修改内存数据,是游戏逆向的基础工具。
本文仅介绍基础操作。
1.打开进程
运行游戏程序,并将CE附加到进程


2.寻找数据地址,并修改数据
限定条件进行搜索,直至找到数据。扫描数据时可先暂停游戏
举例:已知血量初始值
a.游戏开始时,暂停,搜索初始值。
b.开始游戏,让血量减少,暂停,检索减少的值。
c.重复a和b的操作,直到左边出现符合条件的数值


3.指针数据
如果上面的步骤并没有效果,说明找到的是可变地址(当然也可能是找错了),该地址的数据是由一个指针改变的,我们必须找到是谁在改变数据,即最初的指针(具体有多少级指针不确定)
a.禁止指针修改数据


b.一级指针找基指针
目的:找到最开始的指针 ,加上偏移, 就指向了找到的数据


c.多级指针
与找一级指针类似,多找几层就行了,直到地址是绿色的(找到了基指针)。注意指针偏移,最后手动添加地址时,点击Add Offset添加偏移。
例:三级指针
[[[基指针 + 偏移1]+偏移2]+偏移3],Add Offset填入偏移1、2、3。
4.inline hook
在原代码(地址Y)添加自己的代码或修改原代码。
原理:
1.在目标进程申请内存空间(代号A),在A中写自己的汇编代码。(A中最后要返回到修改指令的下一条(jmp Y + 5))
2.将Y的指令改为 jmp A,跳到自己申请的内存中执行代码
3.跳回到Y+5
自动汇编→模板→代码注入→(自动填入了地址)点OK,得到右图

5.内存查看
有些数据难以扫描得到,可以通过内存查看(点击 内存查看 按钮),内存查看器的汇编代码下面的窗口。
内存地址难以获取,但是由于开发程序时,数据多是结构体形式,比如人物属性(血量,蓝,。。。等)在一个结构体内。
可以通过容易找的内存地址来判断同一个结构体内其他内存地址的大致范围。(上下多看看)
当游戏运行时,根据情况的不同,内存数据会变化。找到变化的地址(数据会变色),在主窗口手动添加地址就能改了。
Cheat Engine 入门操作的更多相关文章
- 使用 Cheat Engine 修改 Kingdom Rush 中的金钱、生命、星
最新博客链接 最近想学习一下 CE,刚好看见游戏库里装了 Kingdom Rush 就拿它来研究吧.这里写的东西,需要一些 Cheat Engine 的基础,可以看看教程. 这里主要是看写的注释,来理 ...
- Mysql的二进制安装和基础入门操作
前言:Mysql数据库,知识非常的多,要想学精学通这块知识,估计也要花费和学linux一样的精力和时间.小编也是只会些毛皮,给大家分享一下~ 一.MySQL安装 (1)安装方式: 1 .程序包yum安 ...
- Mysql数据库的二进制安装和基础入门操作
前言:Mysql数据库,知识非常的多,要想学精学通这块知识,估计也要花费和学linux一样的精力和时间.小编也是只会些毛皮,给大家分享一下~ 一.MySQL安装 (1)安装方式: 1 .程序包yum安 ...
- MySQL数据库的二进制安装、源码编译和基础入门操作
一.MySQL安装 (1)安装方式: 1 .程序包yum安装 优点:安装快,简单 缺点:定死了各个文件的地方,需要修改里边的相关配置文件,很麻烦 2 .二进制格式的程序包:展开至特定路径,并经过简单配 ...
- ce游戏内存修改器(Cheat Engine)
ce修改器(Cheat Engine)一款专门修改内存修改编辑的游戏工具它包括16进制编辑,反汇编程序,内存查找工具新版6.1 版的CE与6.0 最大的区别就是添加了修改器制作工具,比之前 5.6.1 ...
- cheat engine lua
function CEButton1Click(sender) local x = getProperty(CETrainer.CEEdit1,"Text")--这句很重要,获取文 ...
- spring boot 入门操作(二)
spring boot入门操作 使用FastJson解析json数据 pom dependencies里添加fastjson依赖 <dependency> <groupId>c ...
- spring boot 入门操作(三)
spring boot入门操作 devtools热部署 pom dependencies里添加依赖 <dependency> <groupId>org.springframew ...
- java之servlet入门操作教程一续
本节主要是在java之servlet入门操作教程一 的基础上使用myeclipse实现自动部署的功能 准备: java之servlet入门操作教程一 中完成myFirstServlet项目的创建: ...
随机推荐
- 新闻网大数据实时分析可视化系统项目——14、Spark2.X环境准备、编译部署及运行
1.Spark概述 Spark 是一个用来实现快速而通用的集群计算的平台. 在速度方面, Spark 扩展了广泛使用的 MapReduce 计算模型,而且高效地支持更多计算模式,包括交互式查询和流处理 ...
- JS中的鼠标移入移除监控操作
有些时候我们需要通过页面来监控用户的行为,包括鼠标操作键盘操作,本文章介绍的是鼠标的操作监控: <script> window.onload = function(){ var oDiv ...
- Oracle笔记--PL/SQL(Procedure Language & Structured Query Language)
1.PL/SQL是一种高级数据库程序设计语言,专门用于在各种环境下对Oracle数据库进行访问.该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理. 2.PL/SQL是对SQ ...
- POJ 2391 Ombrophobic Bovines 网络流 建模
[题目大意]给定一个无向图,点i处有Ai头牛,点i处的牛棚能容纳Bi头牛,求一个最短时间T使得在T时间内所有的牛都能进到某一牛棚里去.(1 <= N <= 200, 1 <= M & ...
- java程序题目解析
(选择一项) A: 不能有括号 B: C: 确定最后一位 D: 正确答案是 B 本题考查的是Java数组概念,数组下标是从零开始的,但是数据下标的总量和数据长度相同 (选择一项) A: B: 顺序不 ...
- CentOS操作系统部署zabbix agent服务
CentOS操作系统部署zabbix agent服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看zabbix的官方手册 1>.点击下载 2>.查看Ubunt ...
- 5G/NR 波束管理
原文链接:http://www.sharetechnote.com/html/5G/5G_Phy_BeamManagement.html 1 为什么光束管理/光束控制? 我不认为高频部署中的波束传输信 ...
- id 和 class的区别
id 选择器 ID 只能被指定单个元素使用,无法多个元素使用.像你的身份证号,是唯一的,id 选择器以 “#” 来定义.id选择器的优先级高于class选择器的优先级的 # userid { text ...
- vscode dart 插件 关闭自动注释
vscode dart 插件 关闭自动注释 左下角设置 --> 搜索 Closing Labels --> 去掉勾选
- ng-trim
最近新做了一个需求,要求在angular.js的input 文本框中做到去除首尾空格,实现精确查询. 查了很多正则表达式,后来才发现angular.js项目中默认就能去除首尾空格,ng-trim 默 ...