OllyDebug调试技巧(三)
Chinese:
1、GetModuleHandleA這個(gè)api用于獲取程序的ImageBase(基地址),可以從PEInfo獲取。
2、MessageBox有一個(gè)參數(shù)是OwnerHandle(父窗口句柄),如果為0則表示桌面的句柄,我們可以通過將這個(gè)值改為一個(gè)不存在的句柄,例如1,這樣這個(gè)MessageBox就不會(huì)顯示出來了。
3、可以通過查找PE結(jié)構(gòu)里面的程序入口,然后只要修改這個(gè)程序入口的地址,那么就可以跳過一些不必要的指令了。
4、如果想讓一些指令不執(zhí)行,可以通過jmp直接跳到后面的地址,也可以將這些指令用nop填充,但是要注意不能損壞正常的程序運(yùn)行邏輯。
5、有些文件篡改了PE頭的信息,雖然程序可以正常運(yùn)行,但是卻使得程序無法被OllyDebug反調(diào)試,這個(gè)時(shí)候需要去查看PE文件頭的信息,找到被篡改的值將其修復(fù)。
6、SEH(Structured Exception Handling),結(jié)構(gòu)化異常處理。SEH是Windows操作系統(tǒng)提供的功能,和開發(fā)工具無關(guān)。
7、異常也可以當(dāng)作是一種消息,應(yīng)用程序發(fā)生異常時(shí)就觸發(fā)了該消息并告知系統(tǒng),接收后同樣會(huì)找它的回調(diào)函數(shù),也就是我們的異常處理例程。
8、如果程序中沒有做異常處理,系統(tǒng)也不會(huì)置之不理,它將彈出常見的錯(cuò)誤框,然后結(jié)束該程序。
9、在OD中,也可以SHIFT+F9來忽略異常,也可在設(shè)置里面設(shè)置忽略的異常Code。
10、在OD中先暫停,使用ALT+F9會(huì)自動(dòng)返回到用戶程序的領(lǐng)空。
11、Ctrl+N可以查看輸入表,可以通過右鍵下api斷點(diǎn)。
12、右鍵->查找->所有參考文本字符串 可以查詢字符串,記得從頭開始查詢,然后雙擊查詢到的字符串即可跳到對(duì)應(yīng)的地址。
13、右鍵->查找參考->選定命令 可以跟蹤這條指令。
14、右鍵->查找->所有模塊中的調(diào)用 可以用來查詢api
轉(zhuǎn)載于:https://www.cnblogs.com/maplewan/p/3244842.html
總結(jié)
以上是生活随笔為你收集整理的OllyDebug调试技巧(三)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wordpress相关插件及应用模板
- 下一篇: jquery 按钮效果 正常、移上、按下