OllyDbg 設定斷點的操作方法

2021-04-08 16:33:08 字數 2378 閱讀 7291

ollydbg是乙個新的32位的彙編層除錯軟體。適應於windows98、me、2000、xp和2003作業系統。由於他具有圖形視窗介面,所以操作方便、直觀,是cracker的好工具。

由於ollydbg沒有了trw2000的萬能斷點,所以許多的新手感覺到用ollydbg斷點不好找。現在我來的說說ollydbg下中斷的幾種方法。本人是個菜鳥,水平有限,可能不能完整的寫出來,也可能存在錯誤。請大家指正。

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

第一 尋常斷點

ollydbg中一般下中斷的方法,就是在程式的位址處用滑鼠選擇這一行。然後按f2鍵,這時被選擇的那一行的位址會變成別的顏色,就表示這個位址處下了中斷。然後執行程式時只有到這個位址處就會被ollydbg中斷。

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

如果有命令列外掛程式,就可以在命令視窗中輸入bpx ******xx 下斷點。

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

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

第二 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 ****硬體斷點

charles的設定斷點

一 新增charles斷點 1 用charles抓包發起一次介面請求 2 對要打斷點的介面右鍵,選擇 breakpoints 二 charles斷點設定 1 點選charles選單 proxy breakpoint.此時會彈出 breakpoints settings 對話方塊 2 雙擊 locat...

斷點的設定以及清除

經檢驗,可以用 斷點指的是在程式 的某一行上設乙個標記,程式執行到這裡時將暫停,由偵錯程式控制程式的執行。程式中可以設定多個斷點,並能給斷點設定條件。在 編輯器中根據不同的顏色檢視當前執行的情況。例如,斷點通常用紅底白字表示,當前執行的 行用藍底白字表示。這種功能可以使使用者對除錯狀態一目了然。斷點...

常用來設定斷點的API

1.序列號保護 定位判斷序列號的 段 1 獲取字串 序列號 getwindowtexta getwindowword getdlgitemtexta getdlgitemint等。2 對話方塊 messageboxa messageboxexa dialogboxparama dialogboxin...