文章目录
一、添加硬件断点
二、关键代码
三、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] 汇编代码及其含义:
代码小浣熊
代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节
51 查看详情
[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 逆向】OD 调试器工具 ( 分析 OD 硬件断点处的关键代码 | 添加硬件断点 | 关键代码 | MOV 指令 | EAX 寄存器值分析 | 使用命令查看 esi+0cc 地址 )的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/476116.html
微信扫一扫
支付宝扫一扫