當前位置:編程學習大全網 - 源碼破解 - Ollydbg破解如何下斷點、斷點有什麽特點

Ollydbg破解如何下斷點、斷點有什麽特點

Embest IDE 當前版本中,斷點設置為“自動“,即:不需要用戶指定硬件斷點/軟件斷點,IDE根據當前斷點的位置(Flash/RAM)自動判斷。

JTAG方式下,不論軟件斷點,還是硬件斷點,都需要目標CPU的硬件支持,實現方式基本相同。 ARM7/9內部硬件設計,最多支持兩個硬件斷點。這與調試器無關。

Ollydbg是壹個新的32位的匯編層調試軟件。適應於windows98、me、2000、xp和2003操作

系統。由於他具有圖形窗口界面,所以操作方便、直觀,是cracker的好工具。

由於Ollydbg沒有了TRW2000的萬能斷點,所以許多的新手感覺到用Ollydbg斷點不好找。現

在我來的說說Ollydbg下中斷的幾種方法。本人是個菜鳥,水平有限,可能不能完整的寫出

來,也可能存在錯誤。請大家指正。

我所表述的是Ollydbg v1.09d中文版,其他版本和英文版下自己參考。

第壹 尋常斷點

Ollydbg中壹般下中斷的方法,就是在程序的地址處用鼠標選擇這壹行。然後按F2鍵,這時

被選擇的那壹行的地址會變成別的顏色,就表示這個地址處下了中斷。然後運行程序時只

有到這個地址處就會被Ollydbg中斷。

這個方法用的比較多,所以把他稱作尋常斷點。

如果有命令行插件,就可以在命令窗口中輸入BPX xxxxxxxx 下斷點。

優點:只要自己懷疑是重要的代碼處都可以下這種下斷點,不受條件的限制,所以方便實

用。

缺點:如果不知道代碼功能下斷點具有盲目性。

第二 API斷點

Ollydbg中壹般下API中斷的方法,有二種。

1. 在代碼窗口中點鼠標右鍵,出現功能菜單。在[搜索]選擇項下有〔當前模塊的名稱〕

和〔全部模塊的名稱〕倆項,選擇其中的壹項就打開了程序調用API的窗口,在這個窗口中

選擇妳要跟蹤的API函數名。雙擊這個函數就能到程序的調用地址處。然後用F2下中斷。也

可以在API窗口中選擇需要跟蹤的函數點鼠標右鍵出現功能菜單,選擇〔在每個參考設置斷

點〕。同樣下了斷點。

快捷方式:Ctrl+N

2. 在命令行窗口中輸入BPX API函數名或者BP API函數名 後回車。這時出現了所有調

用這個函數的地址的窗口,在這個窗口中可以看到調用這個API函數的地址已改變了顏色。

說明下好了斷點。

說明壹下:BPX壹般中斷在程序調用API的地址處。BP會中斷在API的寫入地址處。二這有所

不同,根據需要選擇。

優點:這種方法下的斷點是針對每壹個API函數的,所以具有明確的目的。

缺點:關鍵的API函數不容易找到。所以有時下的斷點沒有作用。

第三 內存斷點(跟蹤關鍵數據的斷點)

Ollydbg中的內存斷點相當於TRW中的bpm 斷點。

下斷點的方法是:在程序運行中斷時選擇界面中的轉存窗口,用光標選擇內存中的壹段關

鍵數據(顏色會改變),然後右擊鼠標出現功能菜單。選擇〔斷點〕項,其中有二個選擇

〔內存訪問〕和〔內存寫入〕。

〔內存訪問〕斷點是程序運行時要調用被選擇的內存數據時就會被Ollydbg中斷,根據這個

特點在破解跟蹤時只要在關鍵數據內存中下中斷就可以知道程序在什麽地方和什麽時候用

到了跟蹤的數據。對於壹些復雜算法和流程變態的算法跟蹤有很大的幫助。從破解上講,

壹個註冊碼的生成壹定是由壹些關鍵數據或者原始數據計算來的。所以在內存中壹定要用

到這些關鍵數據。那麽〔內存訪問〕斷點就是最好的中斷方法。

〔內存寫入〕斷點是程序運行時向被選擇的內存地址寫入數據時就會被Ollydbg中斷。根據

這個特點在破解時可以跟蹤壹個關鍵數據是什麽時候生成的,生成的代碼段在那個地方。

所以壹個關鍵的數據如果不知道他的由來就可以用〔內存訪問〕斷點查找計算的核心。

內存中斷的下斷點還有另外的壹種方法:程序運行時如果知道關鍵的數據,比如我們輸入

的試驗碼、程序生成的序列號等。這時在內存中壹定存在這些數據。用Alt+M打開內存窗口

,在這個窗口中搜索知道的關鍵數據。用光標選擇這些數據同樣下內存中斷,這種方法更

容易找的關鍵的數據。

優點:斷點是直接面向關鍵數據的,所以比較容易到核心部分。

缺點:內存斷點重新運行後會消失,幹擾比較多。

第四 硬件斷點(跟蹤關鍵標誌的斷點)

硬件斷點是Olldbg所特有的斷點,他不會因為重新運行就銷毀,只要不刪除。跟蹤這個程

序時就有效。但他在98系統下會不起作用。

硬件斷點是根據關鍵標誌回逆到關鍵代碼的好方法。下中斷的方法和內存斷點的方法相同

,有三個方式〔硬件訪問〕、〔硬件寫入〕、〔硬件執行〕。壹般用前2個。他也同樣有內

存斷點的特性,所以可以用內存斷點的地方也可以用硬件斷點。這裏介紹利用他來跟蹤註

冊標誌的使用方法,壹般軟件的註冊都用到了標誌比較。即在內存地址中有壹個標誌,在

判斷是不是註冊時比較標誌的值。不同的值表示不同的註冊狀態。這個標誌的地址壹般比

較固定。根據這個特點可以下硬件斷點來跟蹤標誌位是什麽地方被標誌的。

方法:在轉存窗口中選擇到標誌存放的內存地址處,然後選擇標誌值。下〔硬件寫入〕中

斷(根據標誌的字節下不同的長度)。重新運行程序妳會發現Ollydbg會不斷的中斷在這個

標誌的內存地址處。在功能菜單的〔調試〕選項下選擇〔硬件斷點〕就打開了硬件斷點的

窗口,在這個窗口中選擇〔跟蹤〕,這時轉存窗口就會來到被下中斷的內存地址處。運行

程序跟蹤內存地址中的值就會知道被賦標誌的代碼,跟蹤到計算的核心。〔硬件訪問〕的

使用可以知道程序在運行時多少地方用到了這個註冊標誌。對於破解復雜效驗的程序十分

的有效。

直接在命令欄裏下bh ****硬件斷點

  • 上一篇:最流行的手機鈴聲推薦
  • 下一篇:黃子韜直播霸氣回應戀情傳聞,徐藝洋只是妹妹,結果怎樣?
  • copyright 2024編程學習大全網