Windows 逆向使用 Cheat Engine 工具进行指针扫描挖掘关键数据内存真实地址 ( 指针扫描 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows 逆向使用 Cheat Engine 工具进行指针扫描挖掘关键数据内存真实地址 ( 指针扫描 )相关的知识,希望对你有一定的参考价值。

前言

在博客 【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( CE 找出子弹数据内存地址是临时地址 | 挖掘真实的子弹数据内存地址 ) 中 , 没有找到真实地址 , 本篇博客重新开始一个完整流程 ;

在博客 【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 完整流程演示 | 查找临时内存地址 | 查找真实指针地址 ) 中 , 找到的地址是界面中显示的子弹地址 , 并不是实际的子弹地址 , 查找比较简单 ;

在博客 【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 查找子弹数据的动态地址 | 查找子弹数据的静态地址 | 静态地址分析 | 完整流程 ) ★ 中 , 查找真实子弹的地址 , 查找过程比较复杂 ;


在上面的 3 篇博客中 , 通过分析 基址变址寻址 汇编指令 , 查找 基址 + 偏移量 , 工作量比较大 , 而且很繁琐 ;

本篇博客中介绍一种简单的 " 指针扫描 " 方法 , 可以快速找出数据 动态地址 对应的 静态地址 + 偏移量 ;





一、获取动态地址



在之前的博客中 , 已经分析出了子弹的 静态地址 , cstrike.exe+1100ABC ;

动态地址 05929544 ;





二、扫描目前地址指针




1、初次扫描


右键点击 动态地址 选项 , 在弹出的菜单中 , 选择 " 扫描目前地址指针 " 选项 ;

会弹出两个选项 , " 地址寻找 " / " 数值寻找 " , 这里要查找的是地址 05929544 , 查找哪个指针访问了该地址 ;

最大偏移量 " 2048 " 一般不需要修改 , 最大等级 " 5 " , 如果不清楚也设置默认的值 5 , 这里指的是从 静态地址 出发 , 经过多少次基址变址寻址 , 找到了 子弹数据的真实地址 05929544 ;

点击确定之后 , 选择一个目录 , 存储扫描出的地址信息 ;

扫描完成后的结果 ;

在指针扫描对话框的左上角 , 可以设置类型 , 这里将类型设置为 4 Byte ;


2、重启游戏后再次扫描


关掉游戏 , 重新进入游戏 ;

在 CE 中 , 重新搜索 , 附加进程 ;

点击 " 查看内存 " 按钮 , 在弹出的内存信息对话框中 , 选择 " 菜单栏 / 工具 / 指针扫描 " 选项 ,

弹出 " 指针扫描 " 对话框 ,

选择 " 菜单栏 / 文件 / 打开 " 选项 ,


打开上一次存储的 子弹数据 指针扫描结果 ;


打开后 , 很多指针都失效了 ;

选择 " 菜单栏 / 指针扫描器 / 重新扫描内存 - 移除没有指向张恒却地址的指针 " 选项 ,

选择 " 数值寻找 " , 此时子弹的个数是 42 , 这里查找 4 Byte 的 42 值 ;

然后点确定 , 保存为 2.PTR ;

重新扫描的结果如下 , 只剩下 13 万个指针 ;

这些指针都可以使用 ;

可以多次重启游戏 , 筛选该数据 ;

以上是关于Windows 逆向使用 Cheat Engine 工具进行指针扫描挖掘关键数据内存真实地址 ( 指针扫描 )的主要内容,如果未能解决你的问题,请参考以下文章

Cheat Engine(CE)教程

Cheat Engine(CE)教程

Cheat Engine(CE)教程

记首次用Cheat Engine修改游戏内存

cheat engine如何设置中文版

微信内存小程序code获取cheatengine