Windows 逆向CheatEngine 工具 ( 汉化版 CE 工具推荐 | 编写简单 C++ 程序 | C++ 程序执行分析 | 使用 CE 修改上述 C++ 程序 )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows 逆向CheatEngine 工具 ( 汉化版 CE 工具推荐 | 编写简单 C++ 程序 | C++ 程序执行分析 | 使用 CE 修改上述 C++ 程序 )相关的知识,希望对你有一定的参考价值。
一、汉化版 CE 工具推荐
推荐一个汉化版的 CE 工具 : https://bbs.pediy.com/thread-195729-1.htm
在 CSDN 也上传了一份 : https://download.csdn.net/download/han1202012/40652044
执行 Cheat Engine.exe 文件 , 可启动 CE 工具 ;
启动后效果 :
二、编写简单 C++ 程序
CE 工具可以查找 , 并修改软件内存 ; 首先 , 需要启动一个软件 , 这里我们自己编写一个简单程序 ;
在 Visual Studio 2019 中创建 Windows 平台的 " 控制台应用 " 类型的项目 ;
设置好项目类型 , 创建该类型的项目 ;
主函数代码如下 :
#include <iostream>
int main()
std::cout << "Hello World!\\n";
int number = 0;
printf("number=%d", number);
// 从命令行输入字符, 无实际意义, 只是为了设置程序间隔
getchar();
number = 123;
printf("number=%d", number);
// 从命令行输入字符, 无实际意义, 只是为了设置程序间隔
// 在此处阻塞时, 使用 CE 修改 number 的值
getchar();
printf("number=%d", number);
执行效果 :
三、C++ 程序执行分析
程序刚启动时 , 控制台内容 ; 执行如下代码内容 , 打印 number=0
;
int number = 0;
printf("number=%d", number);
点击回车后 , 执行如下代码内容 , 打印 number=123
;
number = 123;
printf("number=%d", number);
再次点击回车后 , 执行如下代码内容 , 打印 number=123
; 程序执行完毕 ;
printf("number=%d", number);
四、使用 CE 修改上述 C++ 程序
使用 CE 修改上述 C++ 程序 : 在最后一次执行时 , 使用 CE 工具修改 number 值为 888 , 然后打印 number=888
;
打开 CE 工具后 , 点击 放大镜按钮 , 搜索当前运行的进程 ;
搜索后 , 会弹出一个进程列表窗口 , 窗口中会显示所有正在运行的进程 ;
在控制台运行的命令行中 , 有程序名称 CE_Demo.exe 程序 ;
在进程列表中找到该程序 , 点击 " 打开 " 按钮 ;
打开进程后 , 界面被激活 , 顶部显示进程名称 ;
查找 123 数值 , 扫描类型选择 " 精确数值 " 类型 , 该变量是 int 类型的 , 占 4 字节 , 选择数值类型 " 4字节 " , 然后点击 " 首次扫描 " 按钮 ;
此时在进程内存中 , 扫描到了 123 值 ;
双击找到的地址 , 会在下方记录该地址 ;
双击下方的描述 , 可以修改新的描述内容 , 这里修改成 " 变量 number "
修改后的效果 :
双击该数值 , 将其改为 888 ;
此时数值修改为 888 ;
使用 CE 修改内存后 , 继续执行程序 , 此时打印的值变为 number=888
;
程序执行结束后 , 变量的生存周期终止 , 变量的数值变为 ??
;
以上是关于Windows 逆向CheatEngine 工具 ( 汉化版 CE 工具推荐 | 编写简单 C++ 程序 | C++ 程序执行分析 | 使用 CE 修改上述 C++ 程序 )的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 逆向通用工具开发 ( Windows 平台静态库程序类型 | 编译逆向工具依赖的 Windows 平台静态库程序 )
Crimsonland 血腥大地 逆向无敌通关分析报告配置文件加密Dll隐藏MD5检测补丁反调试函数反反调试
Android 逆向Android 逆向通用工具开发 ( Windows 平台运行的控制台应用程序类型 | 编译 Windows 平台运行的 Android 逆向程序 )