1. 程式人生 > >逆向---02.je & jmp & jnz 、OD調試

逆向---02.je & jmp & jnz 、OD調試

str 匯編 .com blog 程序 一課 bsp lock 分享圖片

OD調試基礎

nop刪除跳轉,你別問我,我看不見也聽不見

je條件跳轉,滿足條件就跳轉,不滿足就不跳轉

jnz也是條件跳轉,不滿足條件就跳轉

jmp無條件跳轉,管你啥呢,先跳再說

技術分享圖片(姑且可以這麽理解)

快捷鍵:F2下斷點、F8單步執行,F9運行,重新載入:點 << 按鍵 (在工具欄下方的圖標欄中

EIP是32位機的指令寄存器,Z標誌位1~真,0~假(案例中1代表je跳轉實現0代表je跳轉不實現

OD寄存器修改或者標誌位修改是不能保存修改的,一般用於調試(類似於VS調試時自己臨時改變量的值,程序重新運行該怎麽滴還怎麽滴)

技術分享圖片技術分享圖片

舉個應用的栗子:

文章中有太基礎部分如果看不懂就看上一篇

這是一個老版本的視頻播放軟件(有加密功能),先找關鍵詞,Wrong (最好大小寫一樣)

技術分享圖片

字符串搜索後雙擊打開

技術分享圖片

發現上面有一個跳轉,下個斷點看看F2(HEX數據窗口對應行處雙擊也可以),然後運行F9

技術分享圖片

擴充,斷點有沒有實現不是直接看,得調試的過程中看紅色跳轉線代表跳轉實現,灰色的代表跳轉沒實現

技術分享圖片

先Z標誌位改下看看(雙擊就會取反0》1)Z標誌位1~真,0~假(案例中1代表je跳轉實現,0代表je跳轉不實現)

技術分享圖片

技術分享圖片

F9繼續運行,發現可以打開播放了,這時候還是偽破解(OD寄存器修改或者標誌位修改是不能保存修改的

技術分享圖片

進入正常破解流程,je是條件跳轉,想要無條件跳就來個jmp,雙擊反匯編窗口的這行,把je改成jmp(有些人是 je X0040....,在X前加個0,0x代表十六進制,工具問題可能會把0幹掉了)

技術分享圖片

保存一下,過程從簡,不明白的看第一課

技術分享圖片

KO了

技術分享圖片

逆向---02.je & jmp & jnz 、OD調試