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 入门操作的更多相关文章

  1. 使用 Cheat Engine 修改 Kingdom Rush 中的金钱、生命、星

    最新博客链接 最近想学习一下 CE,刚好看见游戏库里装了 Kingdom Rush 就拿它来研究吧.这里写的东西,需要一些 Cheat Engine 的基础,可以看看教程. 这里主要是看写的注释,来理 ...

  2. Mysql的二进制安装和基础入门操作

    前言:Mysql数据库,知识非常的多,要想学精学通这块知识,估计也要花费和学linux一样的精力和时间.小编也是只会些毛皮,给大家分享一下~ 一.MySQL安装 (1)安装方式: 1 .程序包yum安 ...

  3. Mysql数据库的二进制安装和基础入门操作

    前言:Mysql数据库,知识非常的多,要想学精学通这块知识,估计也要花费和学linux一样的精力和时间.小编也是只会些毛皮,给大家分享一下~ 一.MySQL安装 (1)安装方式: 1 .程序包yum安 ...

  4. MySQL数据库的二进制安装、源码编译和基础入门操作

    一.MySQL安装 (1)安装方式: 1 .程序包yum安装 优点:安装快,简单 缺点:定死了各个文件的地方,需要修改里边的相关配置文件,很麻烦 2 .二进制格式的程序包:展开至特定路径,并经过简单配 ...

  5. ce游戏内存修改器(Cheat Engine)

    ce修改器(Cheat Engine)一款专门修改内存修改编辑的游戏工具它包括16进制编辑,反汇编程序,内存查找工具新版6.1 版的CE与6.0 最大的区别就是添加了修改器制作工具,比之前 5.6.1 ...

  6. cheat engine lua

    function CEButton1Click(sender) local x = getProperty(CETrainer.CEEdit1,"Text")--这句很重要,获取文 ...

  7. spring boot 入门操作(二)

    spring boot入门操作 使用FastJson解析json数据 pom dependencies里添加fastjson依赖 <dependency> <groupId>c ...

  8. spring boot 入门操作(三)

    spring boot入门操作 devtools热部署 pom dependencies里添加依赖 <dependency> <groupId>org.springframew ...

  9. java之servlet入门操作教程一续

    本节主要是在java之servlet入门操作教程一  的基础上使用myeclipse实现自动部署的功能 准备: java之servlet入门操作教程一 中完成myFirstServlet项目的创建: ...

随机推荐

  1. jQuery Validation Engine

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  2. Linux centosVMware shell 管道符和作业控制、shell变量、环境变量配置文件

    一.管道符和作业控制 管道符|,用于将前一个指令的输出作为后一个指令的输入 #cat /etc/passwd|wc -l  作业控制:当运行程序时,可以使它暂停(Ctrl+Z组合键),然后使用fg(f ...

  3. vue的高级使用技巧

    全局组件注册 一般组件应用弊端,比较笨拙繁琐低效,比如我们写了一些组件,需要引用上的时候就通过import导入,那如果是高频繁需要使用的组件,则需要在每个使用的时候都需要引入并注册 假设现在有两个组件

  4. Python django 安装 mysqlclient 失败

    使用命令安装失败: C:\Program Files (x86)\Python\Python37-\Scripts>pip3..exe install mysqlclient Collectin ...

  5. 还是应该立个flag

    6月份 开通博客的想法很简单,就是决定要学习C++和算法,写博客作为督促自己的一个方式,因为还没有系统的学习,自认为写博客或见解有些力所不及,决定先从自己的一篇随笔开始,因为我知道自己一旦开始,就会坚 ...

  6. 在线关闭 CLOSE_WAIT状态TCP连接

    1.查看某个端口的所有TCP连接: [root@Centos projects]# netstat -anp | tcp6 ::: :::* LISTEN /java tcp6 CLOSE_WAIT ...

  7. Ubuntu操作系统编译安装zabbix报错汇总

    Ubuntu操作系统编译安装zabbix报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.报错提示:"configure: error: MySQL libra ...

  8. taro中自定义tabbar实现中间图标凸出效果

    遇到的一个需求是在tabbar上有一个凸起的小图标, 但是微信自带的tabbar是没有这个效果的, 无奈,只能使用自定义tabbar,查找了多方文档后发现大多是原生小程序实现, 关于taro文档的少之 ...

  9. 选择本地文件上传控件 input标签

    当要通过控件来选择本地文件上传的时候的一种方式 <input type="file" id="input-file"/> 注意 type类型一定要是 ...

  10. db.mysql.主从同步实验

    实验环境:windows10(1607).mysql5.7.16  (for windows zip) 主库(端口3306)配置文件: [mysqld] #数据库根目录 basedir = D:\my ...