0
点赞
收藏
分享

微信扫一扫

【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★

文章目录

  • 前言
  • 一、上一篇博客中获取到的静态地址
  • 二、第一层静态地址 cstrike.exe+1100ABC
  • 三、第二层地址
  • 四、第三层地址
  • 五、第四层地址
  • 六、静态地址 到 动态地址 的寻址 + 偏移 过程总结

前言

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

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

在博客 【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 查找子弹数据的动态地址 | 查找子弹数据的静态地址 | 静态地址分析 | 完整流程 ) ★ 中 , 查找真实子弹的地址 , 本篇博客中基于该博客的查找结果进行分析 ;

一、上一篇博客中获取到的静态地址

cstrike.exe+1100ABC​ 地址 , 是在博客 【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 查找子弹数据的动态地址 | 查找子弹数据的静态地址 | 静态地址分析 | 完整流程 ) ★ 中获取到的静态地址 ;

搜索到的动态地址为 05A59544 ;

调试 05A59544​ 内存地址 , 得到 05A59478 基址 ;

指针基址可能是 =05A59478
05C1C0ED - mov eax,[esi+000000CC]

搜索 05A59478​ 基址 , 得到 0E1DC144 内存地址 ;

调试 0E1DC144​ 内存地址 , 得到 0E1DBB70 基址 ;

指针基址可能是 =0E1DBB70
05C03A42 - mov eax,[esi+000005D4]

搜索 0E1DBB70​ 基址 , 得到 1032FC50 内存地址 ;

调试 1032FC50​ 内存地址 , 得到 1032FBD4 基址 ;

指针基址可能是 =1032FBD4
05C13D3C - mov eax,[eax+7C]

搜索 1032FBD4​ 基址 , 得到 cstrike.exe+1100ABC 静态地址 ;

构造如下指针 , 指向了子弹数据所在的动态地址 05A59544 ;

【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★_动态地址

二、第一层静态地址 cstrike.exe+1100ABC

cstrike.exe+1100ABC​ 静态地址的 内存地址值为 02500ABC​ , 该内存地址存储的值为 1032FBD4 ;

【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★_动态地址_02

三、第二层地址

第一层静态地址 指向的内存地址存储的值为 1032FBD4 ;

​第二层地址如下图 :​

【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★_静态地址_03

该 1032FBD4​ 值 加上 7C​ 构成一个新地址 1032FC50​ , 该 1032FC50​ 地址中存储的值是 0E1DBB70 ;

【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★_静态地址_04

四、第三层地址

第二层地址 指向的内存地址存储的值为 0E1DBB70 ;

​第三层地址如下图 :​

【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★_动态地址_05

该 0E1DBB70​ 值 加上 5D4​ 构成一个新地址 0E1DC144​ , 该 0E1DC144​ 地址中存储的值是 05A59478 ;

【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★_静态地址_06

五、第四层地址

第三层地址 指向的内存地址存储的值为 05A59478 ;

​第四层地址如下图 :​

【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★_动态地址_07

该 05A59478​ 值 加上 CC​ 构成一个新地址 0E1DC144​ , 该 0E1DC144​ 地址中存储的值是 05A59544 ;

【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 逐层分析分析 静态地址 到 动态地址 的寻址 + 偏移 过程 ) ★_静态地址_06

六、静态地址 到 动态地址 的寻址 + 偏移 过程总结

​这个 05A59544 地址 , 就是最终的子弹数据存储的动态地址 ;​

逆向的过程 就是 根据 动态地址 05A59544​ 地址 , 逐步分析 汇编代码 调用 , 最终追溯到 静态地址 cstrike.exe+1100ABC ;

程序正向运行时 , 根据静态地址 , 及 寻址 + 偏移 等多步操作 , 就可以得到正确的 子弹数据的动态地址 ;

​每次启动应用 , 得到的动态地址值是不同的 ;​

举报

相关推荐

0 条评论