【Windows 逆向】OD 调试器工具 ( 分析 OD 硬件断点处的关键代码 | 添加硬件断点 | 关键代码 | MOV 指令 | EAX 寄存器值分析 | 使用命令查看 esi+0cc 地址 )
文章目錄
- 一、添加硬件斷點(diǎn)
- 二、關(guān)鍵代碼
- 三、MOV 匯編指令格式
- 四、EAX 寄存器值分析
- 五、使用命令查看 esi+0cc 地址
一、添加硬件斷點(diǎn)
在上一篇博客中 , 在子彈個數(shù)數(shù)據(jù)內(nèi)存地址 07BB2D8C 處添加了 硬件斷點(diǎn) ,
二、關(guān)鍵代碼
添加斷點(diǎn)后 , 阻塞攔截的關(guān)鍵代碼如下 ;
在 【W(wǎng)indows 逆向】OD 調(diào)試器工具 ( OD 調(diào)試數(shù)據(jù)時硬件斷點(diǎn)對應(yīng)的關(guān)鍵代碼 | 刪除硬件端點(diǎn)恢復(fù)運(yùn)行 ) 一、OD 調(diào)試數(shù)據(jù)時硬件斷點(diǎn)對應(yīng)的關(guān)鍵代碼 博客章節(jié)介紹到 , 關(guān)鍵代碼的位置是阻塞代碼的上面一行 ;
在 反編譯面板 中 , 地址變黑的那一行代碼是被阻塞代碼位置 , 上面一行是關(guān)鍵代碼 ;
關(guān)鍵代碼為 :
mov eax, dword ptr [esi + CC]三、MOV 匯編指令格式
MOV 指令格式 : 將 SRC 數(shù)值,寫入到 DST 位置 ;
MOV DST,SRCmov eax,[esi+000000CC] 匯編代碼和含義 :
[esi+000000CC] 是 基址變址尋址 , 取出 esi 寄存器的值 05A59478 , 與 CC 相加 , 得到一個地址 05A59544 , 這個地址就是子彈數(shù)據(jù)的地址 , 讀取該地址中的值 , 寫入到 EAX 寄存器中 ;
從上述匯編代碼中 , 可以知道 , 子彈數(shù)據(jù)的動態(tài)地址 05A59544 , 是由 基址 05A59478 加上立即數(shù) CC 得來的 ;
四、EAX 寄存器值分析
其中 EAX 寄存器的值是 5A , 該值 5A 是在 esi+000000CC 地址中存儲的數(shù)據(jù) ;
五、使用命令查看 esi+0cc 地址
查看 esi+000000CC 地址的值 , 在 OD 中的 Command 中執(zhí)行
dd esi+0cc指令 , 跳轉(zhuǎn)到了 07BB2D8C 地址處 , 改地址存儲的值就是 5A , 也就是 90 , 正好是當(dāng)前子彈數(shù)量 ;
總結(jié)
以上是生活随笔為你收集整理的【Windows 逆向】OD 调试器工具 ( 分析 OD 硬件断点处的关键代码 | 添加硬件断点 | 关键代码 | MOV 指令 | EAX 寄存器值分析 | 使用命令查看 esi+0cc 地址 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Windows 逆向】OD 调试器工具
- 下一篇: 【Qt】打开现有 Qt 项目 ( 打开已