首页 > 新闻中心 > 精选阅读

【Windows 逆向】OD 调试器工具 ( 分析 OD 硬件断点处的关键代码 | 添加硬件断点 | 关键代码 | MOV 指令 | EAX 寄存器值分析 | 使用命令查看 esi+0cc 地址 ) 返回列表

星夢妙者2025-04-24 00:00:00编辑发布,已经有个小可爱看过这篇文章啦

文章目录
一、添加硬件断点
二、关键代码
三、MOV 汇编指令格式
四、EAX 寄存器值分析
五、使用命令查看 esi+0cc 地址

一、添加硬件断点


在之前的博客中,我们在子弹数量数据的内存地址 07BB2D8C 处设置了硬件断点。


二、关键代码


设置断点后,拦截的关键代码如下所示:

在 【Windows 逆向】OD 调试器工具 ( OD 调试数据时硬件断点对应的关键代码 | 删除硬件端点恢复运行 ) 一、OD 调试数据时硬件断点对应的关键代码 博客章节中提到,关键代码位于阻塞代码的上一行。

在反编译面板中,地址变黑的那一行代码是被阻塞的代码位置,其上一行即为关键代码。

关键代码为:

mov eax, dword ptr [esi + CC]

三、MOV 汇编指令格式


MOV 指令的格式为:将 SRC 数值写入到 DST 位置。

MOV DST,SRC

mov eax,[esi+000000CC] 汇编代码及其含义:

[esi+000000CC] 表示基址变址寻址,取出 esi 寄存器的值 05A59478,加上 CC,得到地址 05A59544,这是子弹数据的地址。读取该地址中的值并将其写入到 EAX 寄存器中。

从上述汇编代码中可以看出,子弹数据的动态地址 05A59544 是由基址 05A59478 加上立即数 CC 得来的。

四、EAX 寄存器值分析


其中,EAX 寄存器的值为 5A,该值 5A 是存储在 esi+000000CC 地址中的数据。



五、使用命令查看 esi+0cc 地址


要查看 esi+000000CC 地址的值,可以在 OD 的 Command 中执行以下指令:

dd esi+0cc

执行该指令后,跳转到 07BB2D8C 地址处,该地址存储的值为 5A,即 90,正好是当前子弹数量。


  • 博客
  • windows
  • 工具
  • 这是
  • 是由
  • 即为
  • 所示
  • 值为
  • 跳转到
  • 得来

热门新闻

来电咨询