Windows 逆向使用 CE 工具挖掘关键数据内存真实地址 ( 完整流程演示 | 查找临时内存地址 | 查找真实指针地址 )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows 逆向使用 CE 工具挖掘关键数据内存真实地址 ( 完整流程演示 | 查找临时内存地址 | 查找真实指针地址 )相关的知识,希望对你有一定的参考价值。
前言
在上一篇博客 【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( CE 找出子弹数据内存地址是临时地址 | 挖掘真实的子弹数据内存地址 ) 中 , 没有找到真实地址 , 本篇博客重新开始一个完整流程 ;
一、查找子弹数据临时内存地址
使用 【Windows 逆向】使用 CE 分析内存地址 ( 运行游戏 | 使用 CE 工具分析游戏内子弹数量对应的内存地址 | 内存地址初步查找 | 使用二分法定位最终的内存地址 ) 博客中的方法 , 找出子弹数据的临时地址 ;
子弹个数 50 , 先进行首次扫描 ;
找出 3000 多地址 ;
开一枪 , 子弹个数变量 49 , 再次扫描 49 , 这次就剩下 197 个地址 ;
( 此处要点击 " 再次扫描 " 按钮 , 不要点成首次扫描 )
再开一枪 , 子弹变成 48 , 此时再次扫描 , 变成 196 个地址 ; 之后无论如何改变子弹个数 , 都是 196 个地址 ;
开始使用二分法筛选子弹个数 , 锁定一部分 , 开一枪 ,
- 如果子弹个数改变 , 说明锁定的这部分中 , 没有子弹个数数据 , 删除这部分 锁定的数据 ;
- 如果子弹个数没有改变 , 说明锁定的这部分中 , 有子弹个数数据 , 删除另外一部分的 没有锁定的数据 ;
锁定上半部分 , 开一枪 , 发现子弹个数没有减少 , 说明子弹数据在锁定的数据中 , 删除底部没有锁定的所有数据 ; 选中后按 delete 键即可删除 ;
将剩余数据的后半部分解除锁定 , 选中后 , 点击空格 , 切换 锁定 / 未锁定 状态 , 开一枪后 , 发现子弹个数仍然不变 , 删除 未锁定部分数据 ;
再次解除后半部分数据锁定 , 开一枪 , 数据仍然不变 , 说明子弹数据在锁定的这部分中 , 删除没有锁定的数据 ;
按照上述方法 , 最终只剩下一个数据 ; 给该地址设置 " 子弹数据地址 " 描述 , 将内存地址值改为 888 , 此时游戏内显示的子弹个数也变成了888 ;
二、查找子弹数据真实地址
寻址注意事项 : 寻址时 , 尽量找
MOV 寄存器1 , [寄存器2 + 立即数]
样式的指令 ;
子弹数据地址为 0x019FFB48 , 这是个临时地址 , 每次启动该地址值都不同 ;
选中子弹数据地址 , 按 F5 , 使用 Cheat Engine 调试器载入目前进程 ;
如下指令 , 访问了 0x019FFB48 地址 ,
核心数据 :
指针基址可能是 =019FFAA8
019386B2 - mov edi,[edi+000000A0]
完整数据 :
EAX=00000090
EBX=00000014
ECX=00000078
EDX=019FFAA8
ESI=000001BB
EDI=00000378
EBP=01A0032C
ESP=0019FA88
EIP=019386B8
指针基址可能是 =019FFAA8
019386A6 - mov eax,[edx+000000D8]
019386AC - mov ecx,[edx+000000D4]
019386B2 - mov edi,[edi+000000A0]
019386B8 - sub eax,ecx
019386BA - test edi,edi
查找 019FFAA8 值 , 找到 2 个绿色的地址值 , 绿色的地址值就是我们需要找的值 ;
把第一个绿色地址拉下来 , 双击查看该地址值 , 为
cstrike.exe+5FFD58
点击手动添加地址 , 勾选 " 指针 " 选项 ,
在下面的地址栏中 , 输入 cstrike.exe+5FFD58
,
在上面的立即数栏中输入 A0
, 这是根据 019386B2 - mov edi,[edi+000000]
指令来的 ,
此时可以看到 , 该指针指向 0x019FFB48 地址 ;
最终得到子弹的真实数据地址 , cstrike.exe+5FFD58 + A0 ; 每次启动 , 子弹数据都是在这个指针指向的内存中 ;
以上是关于Windows 逆向使用 CE 工具挖掘关键数据内存真实地址 ( 完整流程演示 | 查找临时内存地址 | 查找真实指针地址 )的主要内容,如果未能解决你的问题,请参考以下文章
Windows 逆向使用 CE 工具挖掘关键数据内存真实地址 ( CE 找出子弹数据内存地址是临时地址 | 挖掘真实的子弹数据内存地址 )
Windows 逆向使用 Cheat Engine 工具进行指针扫描挖掘关键数据内存真实地址 ( 指针扫描 )
Windows 逆向使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★
Windows 逆向使用 CE 工具挖掘关键数据内存真实地址 ( 查找子弹数据的动态地址 | 查找子弹数据的静态地址 | 静态地址分析 | 完整流程 ) ★
Windows 逆向OD 调试器工具 ( CE 工具通过查找访问的方式找到子弹数据基地址 | 使用 OD 工具附加游戏进程 | 在 OD 工具中查看 05869544 地址数据 | 仅做参考 )(代码