文章目录

  • 前言
  • 一、查找子弹数据临时内存地址
  • 二、查找子弹数据的静态地址
    • 1、调试内存地址 05A59544 获取基址 05A59478
    • 2、通过搜索基址 05A59478 获取内存地址 0E1DC144
    • 3、调试内存地址 0E1DC144 获取基址 0E1DBB70
    • 4、搜索基址 0E1DBB70 获取内存地址 1032FC50
    • 5、调试内存地址 1032FC50 获取基址 1032FBD4
    • 6、搜索基址 1032FBD4 获取内存地址
  • 三、静态地址分析

前言

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

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

本篇博客尝试查找真实子弹地址 , 这个地址查找起来比较麻烦 ;

一、查找子弹数据临时内存地址


子弹个数 100 时 , 首次扫描 , 找到 4938 个内存值为 100 的地址 ;


开一枪以后 , 再次扫描 99 值 , 就剩下 196 个地址了 , 之后再次减少子弹个数 , 继续扫描 , 仍然是 196 个地址 ;

参考 【Windows 逆向】使用 CE 分析内存地址 ( 运行游戏 | 使用 CE 工具分析游戏内子弹数量对应的内存地址 | 内存地址初步查找 | 使用二分法定位最终的内存地址 ) 博客 , 使用二分法定位真实子弹数据 ;

最终结果为 : 子弹个数的动态地址是 05A59544 ;

二、查找子弹数据的静态地址


1、调试内存地址 05A59544 获取基址 05A59478

选中 05A59544 地址 , 按 F5 调试按钮 , 得到基址 05A59478 ;

指针基址可能是 =05A59478
05C1C0ED - mov eax,[esi+000000CC]
EAX=00000051
EBX=0E1DBB70
ECX=00000000
EDX=00000001
ESI=05A59478
EDI=00000001
EBP=00000000
ESP=0019F2F0
EIP=05C1C0F3指针基址可能是 =05A5947805C1C0E6 - je mp.CBasePlayerItem::DestroyItem+20D
05C1C0E8 - mov ecx,00000001
05C1C0ED - mov eax,[esi+000000CC]
05C1C0F3 - mov edx,[esi+000000D0]
05C1C0F9 - cmp eax,edx

2、通过搜索基址 05A59478 获取内存地址 0E1DC144

搜索 05A59478 , 勾选 " 十六进制 " 选项 , 然后点击 " 新的扫描 " 选项 , 选择 " 首次扫描 " , 扫描出 444 个结果 ;

3、调试内存地址 0E1DC144 获取基址 0E1DBB70

选择第 1 个找到的地址 0E1DC144 , 双击该地址 , 将其拉下来 , 选中该地址 , 按 F5 快捷键调试 ;

刚开始显示


开一枪之后 , 多了一行指令 , 这个指令就是子弹个数相关的指令 ;

分析多出的 05C03A42 - mov eax,[esi+000005D4] 指令 ; 得到基址 0E1DBB70 ;

指针基址可能是 =0E1DBB70
05C03A42 - mov eax,[esi+000005D4]
EAX=05A59478
EBX=00000000
ECX=0E1DBB70
EDX=00000000
ESI=0E1DBB70
EDI=05C3F74D
EBP=00000000
ESP=0019FA28
EIP=05C03A48指针基址可能是 =0E1DBB7005C03A36 - cmp [esi+00000948],bl
05C03A3C - jne mp.info_intermission+16A9
05C03A42 - mov eax,[esi+000005D4]
05C03A48 - mov ecx,[esi+000005D8]
05C03A4E - cmp eax,ebx

4、搜索基址 0E1DBB70 获取内存地址 1032FC50

搜索基址 0E1DBB70 , 搜索到如下几个内存地址 , 选择最后一个 , 将其拉下来按 F5 调试 ;

( 至于为什么选最后一个调试 , 前几个都测试过了 , 全部失败 , 这是经过几个小时反复试错 , 找到的路径 )

5、调试内存地址 1032FC50 获取基址 1032FBD4

调试内存地址 1032FC50 获取基址 1032FBD4 ;

指针基址可能是 =1032FBD4
05C13D3C - mov eax,[eax+7C]
EAX=0E1DBB70
EBX=1524EC14
ECX=0E1DBB70
EDX=00000002
ESI=00000000
EDI=05BC61B0
EBP=05E60918
ESP=0019FA14
EIP=05C13D3F指针基址可能是 =1032FBD405C13D37 - cmp dword ptr [eax],00
05C13D3A - jne mp.func_rain+4A1
05C13D3C - mov eax,[eax+7C]
05C13D3F - pop esi
05C13D40 - ret 

6、搜索基址 1032FBD4 获取内存地址

此时找到了 绿色的 静态地址 ;

这里有 2 个静态地址 , 数值都是基址 1032FBD4

  • 静态地址 1 : pcawwclconfig_mm.dll+10A40 ;

  • 静态地址 2 : cstrike.exe+1100ABC ;

这里使用静态地址 2 , 因为静态地址 2 是以程序名开始的 ;

三、静态地址分析


搜索到的动态地址为 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 工具挖掘关键数据内存真实地址 ( 查找子弹数据的动态地址 | 查找子弹数据的静态地址 | 静态地址分析 | 完整流程 ) ★相关推荐

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

    文章目录 前言 一.上一篇博客中获取到的静态地址 二.第一层静态地址 cstrike.exe+1100ABC 三.第二层地址 四.第三层地址 五.第四层地址 六.静态地址 到 动态地址 的寻址 + 偏 ...

  2. 【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 完整流程演示 | 查找临时内存地址 | 查找真实指针地址 )

    文章目录 前言 一.查找子弹数据临时内存地址 二.查找子弹数据真实地址 前言 在上一篇博客 [Windows 逆向]使用 CE 工具挖掘关键数据内存真实地址 ( CE 找出子弹数据内存地址是临时地址 ...

  3. 【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( CE 找出子弹数据内存地址是临时地址 | 挖掘真实的子弹数据内存地址 )

    文章目录 一.CE 找出子弹数据内存地址是临时地址 二.挖掘真实的子弹数据内存地址 1.找出哪些指令访问了子弹数据地址 0x21160114 2.查看 0x21160114 地址是如何计算出来的 ( ...

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

    文章目录 前言 一.获取动态地址 二.扫描目前地址指针 1.初次扫描 2.重启游戏后再次扫描 前言 在博客 [Windows 逆向]使用 CE 工具挖掘关键数据内存真实地址 ( CE 找出子弹数据内存 ...

  5. 【Windows 逆向】CE 地址遍历工具 ( CE 结构剖析工具 | 遍历查找后坐力数据 | 尝试修改后坐力数据 )

    文章目录 一.遍历后坐力数据 二.尝试修改后坐力数据 一.遍历后坐力数据 在上一篇博客 [Windows 逆向]CE 地址遍历工具 ( CE 结构剖析工具 | 从内存结构中根据寻址路径查找子弹数据的内 ...

  6. 【Windows 逆向】CE 地址遍历工具 ( CE 结构剖析工具 | 尝试进行瞬移操作 | 尝试查找飞天漏洞 )

    文章目录 一.尝试进行瞬移操作 二.尝试查找飞天漏洞 一.尝试进行瞬移操作 在上一篇博客 [Windows 逆向]CE 地址遍历工具 ( CE 结构剖析工具 | 人物数据内存结构 | 人物三维坐标数据 ...

  7. 【Windows 逆向】CE 地址遍历工具 ( CE 结构剖析工具 | 从内存结构中根据寻址路径查找子弹数据的内存地址 )

    文章目录 一.CE 结构剖析工具 二.从内存结构中根据寻址路径查找子弹数据的内存地址 一.CE 结构剖析工具 游戏中的数据结构 , 需要靠调试和观察 , 才能发现其中的规律 ; 之前发现的 静态地址 ...

  8. 【Windows 逆向】CheatEngine 工具 ( CheatEngine 简介 | 使用 Lazarus 编译 CE 源码 | CheatEngine 相关文档资料 )

    文章目录 一.CheatEngine 简介 二.使用 Lazarus 编译 CE 源码 三.CheatEngine 相关文档资料 一.CheatEngine 简介 CheatEngine 简称 CE ...

  9. 【Windows 逆向】CheatEngine 工具 ( 汉化版 CE 工具推荐 | 编写简单 C++ 程序 | C++ 程序执行分析 | 使用 CE 修改上述 C++ 程序 )

    文章目录 一.汉化版 CE 工具推荐 二.编写简单 C++ 程序 三.C++ 程序执行分析 四.使用 CE 修改上述 C++ 程序 一.汉化版 CE 工具推荐 推荐一个汉化版的 CE 工具 : htt ...

最新文章

  1. (转载)你所知晓的dt.jar
  2. 计算机网络实验第一周,新学期计算机网络实训报告范文
  3. git 撤销修改以及删除文件(亲测最后一个删除后还原)
  4. python中messagebox用法实例_pyqt4教程之messagebox使用示例分享
  5. 【树链剖分】软件管理(luogu 2146/金牌导航 树链剖分-2)
  6. spring mvc学习(20):RequestHeader(获取请求头中某一部分值)
  7. 【牛客 - 283F】出装方案(最小费用最大流)
  8. 此 sqltransaction 已完成;它再也无法使用_win10笔记本自带office报错无法激活的解决方法...
  9. linux查看openjdk的安装的路径
  10. (27)XILINX FPGA bit文件转换成MCS文件(FPGA不积跬步101)
  11. Ubuntu下安装opencv3.2.0,解决anaconda下的Python和安装opencv3.2.0冲突的问题
  12. ShadowGun之Shader分析
  13. python 3d重建_python三维重建
  14. java解决windows下文件没有Everyone以及完全控制的权限问题
  15. http协议 服务器主动下发,HTTP协议快速入门指南
  16. 常用的三种白平衡算法整理
  17. 赞雨林木风:从修改版到定制版
  18. java时间戳与LocalDateTime常用转换方式
  19. 苏黎世联邦理工学院计算机怎么样,苏黎世联邦理工学院计算机
  20. Openvino Linux 2022新版本(2.0)安装与运行sample流程

热门文章

  1. MVC自定义视图规则
  2. mysql数据库同步 debug
  3. PHP ORM框架ezpdo(2)之EZPDOSQL
  4. DIV与Table布局在大型网站的可用性比较
  5. 不能解决,复选框在request对象获取的信息后显示在用户信息里面为中文的选项名...
  6. Mac和 iOS 下的对称和非对称加密算法的使用
  7. bootstrap easyUI 的选型
  8. 我遇到的优秀年轻人都有哪些特质
  9. 浅谈FIle协议与Http协议及区别
  10. javaScript年份下拉列表框内容为当前年份及前后50年