W32Dasm

W32Dasm

W32Dasm是一個靜態反彙編工具,也是破解人常用的工具之一。它通常被程式設計師使用,可被用來Crack軟體。它也被比作破解人的屠龍刀

W32Dasm操作簡單,使用方便。

基本介紹

W32Dasm簡介,W32Dasm的套用及作用,W32Dasm說明套用,W32Dasm的操作說明,

W32Dasm簡介

W32Dasm10.0修改版是經Killer在W32Dasm8.93基礎上修改的,修改後的W32Dasm功能更強大,能完美顯示中文字元串及VB程式,內含16進制編輯器,破解修改軟體更容易,可謂是反彙編極品。

W32Dasm的套用及作用

W32Dasm說明套用

W32Dasm是一個強大的反彙編工具,操作簡單,使用方便。通常被程式設計師使用,當然也可被用來Crack軟體了,很適合Cracker使用。
我在這把與crack相關的功能簡述如下:
1.0 開始
2.0 保存反彙編文本檔案和創建方案檔案
3.0 反彙編文本代碼的基本操作
4.0 複製彙編代碼文本
5.0 裝載32位的彙編代碼動態調試
6.0 運行,暫停或終止程式
7.0 單步跟蹤程式
8.0 設定激活斷點
9.0 偏移地址和虛擬地址轉換
1.0 開始
1.1 運行W32Dasm,在這裡以windows95自帶的計算器為例:calc.exe。
1.2 從Disassembler(反彙編)選單選擇Disassembler Options(反彙編程式選項)選項將出現如下對話框。
1.3 在Disassembler(反彙編)選單,選擇Open File(打開檔案)選項或按工具列按鈕。
1.4 選擇你要打開的檔案就可。
注意:你反彙編檔案後,如字元己超過螢幕外,這時你要選擇合適的字型(在Font字型選項中Select Font選擇字型) ,然後設為默認字型(Save Default Font)即可。 當然一般以默認值就可。
2.0 保存反彙編文本檔案和創建方案檔案(Save The Disassembly Text and Create A Project File )
略。
3.0 反彙編原始碼的基本操作
3.1 轉到代碼開始(Goto Code Start)
工具列按或從選單的轉到(Goto)選項選擇轉到代碼開始(Goto Code Start) 或按Ctrl S, 這樣游標將來到代碼的開始處,用戶可通過雙擊滑鼠或用shift+上下游標鍵改變游標的位置。
註:代碼的開始處是反彙編代碼列表清單彙編指令的開始,而不是代碼運行的起點,程式運行的起點稱為程式入口點(Program Entry Point)。
3.2 轉到程式入口點(Goto Program Entry Point)
工具列按或選單的轉到(Goto)選項選擇 轉到程式入口點(Goto Program Entry Point)或按F10,這樣游標將來到程式入口點(Entry Point),這裡就是程式執行的起始點,一般動態調試時LOAD時也就停在此處。
3.3 轉到頁(Goto Page)
在工具列按或選單的轉到(Goto)選項選擇轉到頁(Goto Page)或按F11,這時跳出一對話框,輸入頁數可跳轉到相關頁面去。
3.4 轉到代碼位置(Goto Code Location)
在工具列按或選單的轉到(Goto)選項選擇轉到代碼位置(Goto Code Location)或按F12,一個對話框將出現,充許用戶輸入代碼偏移地址,以跳轉到此位置上去。
3.5 執行文本跳轉(Execute Text Jump)
這功能是在Execute Text(執行文本)選單選項里的,執行跳躍(Execute Jump)功能激活條件是游標在代碼的跳轉指令這行上(這時光條是高亮度的綠顏色)。此時工具條Jump To按鈕也激活。如圖:
此時按或選單選項Execute Jump(執行跳躍)或按右游標鍵,光條將來到跳轉指令所指到的位置。在這例子裡,將來到:004076CE xor eax,eax 這一行代碼處:
如要返回到上一次跳躍,請參考3.6.
3.6 返回到上一次跳躍Return From Last Jump
這功能是在Execute Text(執行文本)選單選項里的,此指令僅僅是在 執行文本跳轉功能完成後才激活。當這條件成立時,按鈕將激活。按或在選單里選項返回到上一次跳躍(Return From Last Jump)或按左游標鍵,光條將返回到上一次跳躍位置處。
3.7 執行呼叫Execute Text Call
這功能是在Execute Text(執行文本)選單選項里的,此功能激活的條件是光條在CALL指令一行。在這一行時光條將發綠,按鈕將激活。執行時光條將會來到CALL所指的地址處。
如下圖: 光條在0040751D call 004073D4 一行。
此時按或在選單的執行呼叫(Execute Text Call)或按右游標鍵,光條將來到CALL所指的地址004073D4這一行。
如要返回到剛才起點的0040751D call 004073D4 一行,參考3.8的返回呼叫。
3.8 返回呼叫(Return From Last Call)
這功能是在Execute Text(執行文本)選單選項里的,此指令僅僅是在執行呼叫Execute Text Call功能完成後才激活。當這條件成立時,按鈕將激活。按或在選單里選項返回呼叫(Return From Last Call)或按左游標鍵,光條將返回到上一次呼叫位置處。
3.9 導入功能(Imported)
在選單功能選項里,其作用主要是查看import函式。按或在選單功能選項里的導入(Imports)命令,執行後將列出當前檔案的Import函式。
如要返回到剛才起點的0040751D call 004073D4 一行,參考3.8的返回呼叫。

W32Dasm的操作說明

5.0 裝載32位的彙編代碼動態調試
5.1 反彙編windows自帶的計算器程式 calc.exe.
5.2 選擇選單調試選項中的載入處理(Load Process),或按Ctrl+L.出現一個載入對話框,你可輸入選項命令。現在你可按裝載(load)按鈕。
Calc.exe現在被W32DASM動態調試,將出現左右兩個調試視窗(如下圖),在初始化calc.exe程式後,指令將停留在入口點(Entry Point)處。
左邊的調試視窗列出各種狀態器如:CPU暫存器,CPU控制暫存器斷點,活動的DLL,段暫存器等等;
6.0 運行,暫停或終止程式
6.1 在右調試視窗,按運行(RUN)按鈕或按F9,calc.exe將運行起來。
按暫停(PAUSE)按鈕或空格鍵,程式將暫停,這在單步跟蹤時經常用到。
按終止(TERMINAT)按鈕,程式將停止,退出動態調試環境。
7.0單步跟蹤程式
7.1 重新載入 calc.exe
7.2 在程式載入後,停留在入口點,你可按F7或F8單步調試程式,這兩個鍵所不同的是F7是跟進CALL里,F8是路過。
7.3 進入自動調試按 (F5) 和結束自動調試按 (F6) 。
8.0設定激活斷點
8.1 重新載入 calc.exe
8.2 在W32DASM的選單轉到選項轉到代碼處(goto code)功能,填上403198,按確定,你將在W32Dasm的主視窗(此時可能最小化了,把其還原即可)來到403198地址一行。光條在這一行顯亮綠色,按F2或用滑鼠左點擊最左邊(同時按住CTRL)設定斷點。
這時如斷點設定成功,光條最左邊有一小段黃條,顯示此行為斷點。如下圖:
如果斷點不在這裡,整行光條將是黃色的。
當斷點設定好後,在左調試視窗中的斷點小視窗顯示斷點情況(右邊有一):
此時按F2或(滑鼠左鍵+CTRL),斷點將取消。
8.3 此時按F9程式將運行到相關斷點時停止。
9.0 偏移地址和虛擬地址轉換
W32DASM、SOFTICE和Hiew(Decode模式)顯示的地址都是虛擬地址,但是在Hiew(Decode模式)下,F5功能鍵查找的地址是偏移地址,因此必須將虛擬地址轉換成偏移地址,才能找到正確的地址。常用的方法是在W32DASM下將綠色的光條移到某一行代碼上 , 在視窗底部有一行字指示其偏移地址 , 如虛似地址:Code DaTa@0040534e而偏移地址為:@Offset 0000474Eh. 這就是偏移地址。

相關詞條

熱門詞條

聯絡我們