w32dasm是一款非常受程序開發(fā)人員青睞的反匯編工具,對他們編寫程序代碼非常有幫助,是輔助編程開發(fā)過程中非常重要的代碼編譯工具。支持反匯編、編輯代碼、創(chuàng)建工程、調(diào)試代碼、查找、跳轉(zhuǎn)、執(zhí)行文本、函數(shù)調(diào)用、調(diào)用命令行、十六進(jìn)制數(shù)據(jù)等功能,并提供了自定義語法高亮顯示色彩功能,某些關(guān)鍵字還可以用突出顏色顯示,用戶能夠方便快捷的找到語法上的漏洞,更好的編寫程序代碼,查漏補(bǔ)缺,不至于到了最后整個程序都完成了,發(fā)現(xiàn)這里是問題,那里又有問題,全部都要返工,功虧一簣。小編為廣大程序員們帶來了w32dasm v10.0中文版下載,它是在本工具8.93基礎(chǔ)上修改的升級版,能好顯示中文字符串及VB程序,需要或者感興趣的用戶快來免費下載試試吧。
破解教程
1、偵殼:先打開偵殼 language.exe,選擇打開----找到要破解的網(wǎng)絡(luò)填表終結(jié)者:FormGhost.exe,點確定,如圖1。language.exe便顯示出軟件的殼是:Aspack,如圖2。
2、脫殼:雙擊脫殼AspackDie.exe,出現(xiàn)一個對話框,選擇網(wǎng)絡(luò)填表終結(jié)者:FormGhost.exe,打開。如圖3。出現(xiàn)圖4框,點確定脫殼完成。在網(wǎng)絡(luò)填表終結(jié)者:FormGhost.exe同目錄下生成一個unpacked.exe文件,這就是脫殼后的FormGhost.exe。
3,運行脫殼后的unpacked.exe,點幫助----注冊,圖9。注冊名稱,注冊碼隨便添。圖10。點注冊,提示:“注冊碼錯誤”圖11,好了記住這5個字。關(guān)了它。
4,開始反匯編:打開 反編譯,選擇反匯編----打開脫殼后的unpacked.exe,變開始加載。如圖5。圖6。
返匯編之后如圖7。點擊上面的參考----串式參考如圖8
出現(xiàn)這個對話框圖12。找到 “注冊碼錯誤”,雙擊它,匯編主程序便來到這里:圖13。
注意:正確注冊信息在錯誤信息之上,關(guān)閉串式參考框??粗鞒绦颍簣D14。從注冊碼錯誤向上找到第一個跳轉(zhuǎn)(關(guān)鍵跳,除了jmp的其它跳je,jne,jz,jnz),來到這里圖15。
(它上面的call叫關(guān)鍵call。),雙擊關(guān)鍵跳,看軟件最下面有一行字:Line:379267 Pg 7586 of 7626
CODe Data@004ACB4B@Offset 00ACB4BH in File:unpacked.exe.其中@Offset 00ACB4BH就是偏移地址,記住00ACB4B(后面的h代表16進(jìn)制,不用管他),圖16。
5、開始修改軟件:打開16進(jìn)制編輯器 UltraEdit.rar,(有點慢)圖17。打開脫殼后的unpacked.exe,直接按ctrl+g,出現(xiàn)對話框,輸入0xacb4b(即偏移地址,不要前面的000)圖18。點確定,來到圖19
前面說過正確注冊信息在錯誤信息之上,所以這里將of85改為of84。圖20。(如果正確注冊信息在錯誤信息之下,這里改為eb)。將光標(biāo)移到5上直接輸入數(shù)字4即可,其他地方不要動。好了,改好只后左上角的文件---另存為unpacked222.exe
6、關(guān)閉所以軟件,運行另存的unpacked222.exe,點幫助---注冊,注冊名稱,注冊碼隨便添,點確定,提示注冊完成。圖21。回到軟件界面看看,幫助,注冊一項已經(jīng)變?yōu)榛疑?,圖22
7、破解全部完成
使用教程
1、首先用工具打開一個dll文件,如下圖所示,小編隨便在windows目錄下找了一個。
2、先找到要修改的代碼在文件中的偏移,記下此地址。
3、啟動HIEW,進(jìn)入程序界面如下圖所示!win10下有部分亂碼,不影響。
4、點擊up可以進(jìn)入上一層目錄,選擇你要修改的文件,雙擊打開。
5、按下F4選擇“DECODE“模式。
6、按下F5跳到剛剛記下的地址:6620E870。
7、按下F3鍵后,燙后TAB鍵,可以直接修改呢。
8、可以任意修改?。∩踔列薷某蒪aidujingyan test吧!當(dāng)然一般我們修改的是跳轉(zhuǎn)指令JZ--JNZ等。
功能特色
1、自定義語法高亮顯示的色彩,某些關(guān)鍵字可以用突出顏色顯示,Good。
2、可以手工增加注釋,類似IDA,注釋可以復(fù)制、保存。更加方便分析和寫破解文章。
3、增強(qiáng)的搜索、查找功能。
4、命令行功能。
5、增加最新使用文件列表功能。
6、相當(dāng)實用的快速編輯功能,可以取代HEX編輯器了。
7、增加匯編代碼修補(bǔ)(Permenant Patcher)功能。
8、打開當(dāng)前反匯編文件寫操作。
9、本版修正兩個窗口不能正常顯示的BUG。
10、在反匯編窗口顯示顯示中文的功能。
11、在串式數(shù)據(jù)參考中提取中文字符串的功能。
12、支持VB/DELPHI字符串的提取,可以自定義VB_patch的打開和關(guān)閉。
使用說明
W32Dasm是一個強(qiáng)大的反匯編工具,操作簡單,使用方便。通常被程序員使用,當(dāng)然也可被用來Crack軟件了,很適合Cracker使用。
我在這把與crack相關(guān)的功能簡述如下:
1.0 開始
2.0 保存反匯編文本文件和創(chuàng)建方案文件
3.0 反匯編文本代碼的基本操作
4.0 復(fù)制匯編代碼文本
5.0 裝載32位的匯編代碼動態(tài)調(diào)試
6.0 運行,暫停或終止程序
7.0 單步跟蹤程序
8.0 設(shè)置激活斷點
9.0 偏移地址和虛擬地址轉(zhuǎn)換
1.0 開始
1.1 運行它,在這里以windows95自帶的計算器為例:calc.exe。
1.2 從Disassembler(反匯編)菜單選擇Disassembler Options(反匯編程序選項)選項將出現(xiàn)如下對話框。
1.3 在Disassembler(反匯編)菜單,選擇Open File(打開文件)選項或按工具欄按鈕。
1.4 選擇你要打開的文件就可。
注意:你反匯編文件后,如字符己超過屏幕外,這時你要選擇合適的字體(在Font字體選項中Select Font選擇字體) ,然后設(shè)為默認(rèn)字體(Save Default Font)即可。 當(dāng)然一般以默認(rèn)值就可。
2.0 保存反匯編文本文件和創(chuàng)建方案文件(Save The Disassembly Text and Create A Project File )
3.0 反匯編源代碼的基本操作
3.1 轉(zhuǎn)到代碼開始(Goto Code Start)
在工具欄按或從菜單的轉(zhuǎn)到(Goto)選項選擇轉(zhuǎn)到代碼開始(Goto Code Start) 或按Ctrl S, 這樣光標(biāo)將來到代碼的開始處,用戶可通過雙擊鼠標(biāo)或用shift+上下光標(biāo)鍵改變光標(biāo)的位置。
注:代碼的開始處是反匯編代碼列表清單匯編指令的開始,而不是代碼運行的起點,程序運行的起點稱為程序入口點(Program Entry Point)。
3.2 轉(zhuǎn)到程序入口點(Goto Program Entry Point)
在工具欄按或菜單的轉(zhuǎn)到(Goto)選項選擇 轉(zhuǎn)到程序入口點(Goto Program Entry Point)或按F10,這樣光標(biāo)將來到程序入口點(Entry Point),這里就是程序執(zhí)行的起始點,一般動態(tài)調(diào)試時LOAD時也就停在此處。
3.3 轉(zhuǎn)到頁(Goto Page)
在工具欄按或菜單的轉(zhuǎn)到(Goto)選項選擇轉(zhuǎn)到頁(Goto Page)或按F11,這時跳出一對話框,輸入頁數(shù)可跳轉(zhuǎn)到相關(guān)頁面去。
3.4 轉(zhuǎn)到代碼位置(Goto Code Location)
在工具欄按或菜單的轉(zhuǎn)到(Goto)選項選擇轉(zhuǎn)到代碼位置(Goto Code Location)或按F12,一個對話框?qū)⒊霈F(xiàn),充許用戶輸入代碼偏移地址,以跳轉(zhuǎn)到此位置上去。
3.5 執(zhí)行文本跳轉(zhuǎn)(Execute Text Jump)
這功能是在Execute Text(執(zhí)行文本)菜單選項里的,執(zhí)行跳躍(Execute Jump)功能激活條件是光標(biāo)在代碼的跳轉(zhuǎn)指令這行上(這時光條是高亮度的綠顏色)。此時工具條Jump To按鈕也激活。
此時按或菜單選項Execute Jump(執(zhí)行跳躍)或按右光標(biāo)鍵,光條將來到跳轉(zhuǎn)指令所指到的位置。在這例子里,將來到:004076CE
xor eax,eax 這一行代碼處:如要返回到上一次跳躍,請參考3.6.
3.6 返回到上一次跳躍Return From Last Jump
這功能是在Execute Text(執(zhí)行文本)菜單選項里的,此指令僅僅是在 執(zhí)行文本跳轉(zhuǎn)功能完成后才激活。當(dāng)這條件成立時,按鈕將激活。按或在菜單里選項返回到上一次跳躍(Return From Last Jump)或按左光標(biāo)鍵,光條將返回到上一次跳躍位置處。
3.7 執(zhí)行呼叫Execute Text Call
這功能是在Execute Text(執(zhí)行文本)菜單選項里的,此功能激活的條件是光條在CALL指令一行。在這一行時光條將發(fā)綠,按鈕將激活。執(zhí)行時光條將會來到CALL所指的地址處。如下圖: 光條在0040751D call 004073D4 一行。
此時按或在菜單的執(zhí)行呼叫(Execute Text Call)或按右光標(biāo)鍵,光條將來到CALL所指的地址004073D4這一行。
如要返回到剛才起點的0040751D call 004073D4 一行,參考3.8的返回呼叫。
3.8 返回呼叫(Return From Last Call)
這功能是在Execute Text(執(zhí)行文本)菜單選項里的,此指令僅僅是在執(zhí)行呼叫Execute Text Call功能完成后才激活。當(dāng)這條件成立時,按鈕將激活。按或在菜單里選項返回呼叫(Return From Last Call)或按左光標(biāo)鍵,光條將返回到上一次呼叫位置處。
3.9 導(dǎo)入功能(Imported)
在菜單功能選項里,其作用主要是查看import函數(shù)。按或在菜單功能選項里的導(dǎo)入(Imports)命令,執(zhí)行后將列出當(dāng)前文件的Import函數(shù)。
如要返回到剛才起點的0040751D call 004073D4 一行,參考3.8的返回呼叫。
操作說明
5.0 裝載32位的匯編代碼動態(tài)調(diào)試
5.1 反匯編windows自帶的計算器程序 calc.exe.
5.2 選擇菜單調(diào)試選項中的加載處理(Load Process),或按Ctrl+L.出現(xiàn)一個加載對話框,你可輸入選項命令。現(xiàn)在你可按裝載(load)按鈕。
Calc.exe現(xiàn)在被W32DASM動態(tài)調(diào)試,將出現(xiàn)左右兩個調(diào)試窗口(如下圖),在初始化calc.exe程序后,指令將停留在入口點(Entry Point)處。
左邊的調(diào)試窗口列出各種狀態(tài)器如:CPU寄存器,CPU控制寄存器,斷點,活動的DLL,段寄存器等等;
6.0 運行,暫?;蚪K止程序
6.1 在右調(diào)試窗口,按運行(RUN)按鈕或按F9,calc.exe將運行起來。
按暫停(PAUSE)按鈕或空格鍵,程序?qū)和?,這在單步跟蹤時經(jīng)常用到。
按終止(TERMINAT)按鈕,程序?qū)⑼V?,退出動態(tài)調(diào)試環(huán)境。
7.0單步跟蹤程序
7.1 重新加載 calc.exe
7.2 在程序加載后,停留在入口點,你可按F7或F8單步調(diào)試程序,這兩個鍵所不同的是F7是跟進(jìn)CALL里,F(xiàn)8是路過。
7.3 進(jìn)入自動調(diào)試按 (F5) 和結(jié)束自動調(diào)試按 (F6) 。
8.0設(shè)置激活斷點
8.1 重新加載 calc.exe
8.2 在工具的菜單轉(zhuǎn)到選項轉(zhuǎn)到代碼處(goto code)功能,填上403198,按確定,你將在工具的主窗口(此時可能最小化了,把其還原即可)來到403198地址一行。光條在這一行顯亮綠色,按F2或用鼠標(biāo)左點擊最左邊(同時按住CTRL)設(shè)置斷點。
這時如斷點設(shè)置成功,光條最左邊有一小段黃條,顯示此行為斷點。如下圖:
如果斷點不在這里,整行光條將是黃色的。
當(dāng)斷點設(shè)置好后,在左調(diào)試窗口中的斷點小窗口顯示斷點情況(右邊有一):
此時按F2或(鼠標(biāo)左鍵+CTRL),斷點將取消。
8.3 此時按F9程序?qū)⑦\行到相關(guān)斷點時停止。
9.0 偏移地址和虛擬地址轉(zhuǎn)換
工具本身、SOFTICE和Hiew(Decode模式)顯示的地址都是虛擬地址,但是在Hiew(Decode模式)下,F(xiàn)5功能鍵查找的地址是偏移地址,因此必須將虛擬地址轉(zhuǎn)換成偏移地址,才能找到正確的地址。常用的方法是在工具下將綠色的光條移到某一行代碼上 , 在窗口底部有一行字指示其偏移地址 , 如虛似地址:Code DaTa@0040534e而偏移地址為:@Offset 0000474Eh. 這就是偏移地址。
常見問題
一、漢字都亂碼該如何解決?
原因就是因為那些字符串都被加密了,所以顯示亂碼。
解決方法
1、用工具反匯編一個軟件(如:notepad.exe),然后怎么呢?當(dāng)然是按下Ctrl +D熱鍵來祭出終極法寶SoftICE,設(shè)置斷點:bpx gdi32!textout。
2、按F5鍵后隨便在工具中移動一下光標(biāo),SoftICE便攔截下來,按下F12鍵就回到了下面45E77E處。把附近的代碼稍稍細(xì)看一下就會發(fā)現(xiàn),作者對于要顯示的字串是逐字符顯示的,這樣做的目的可能是有時為了以紅色顯示字串的某一部分。
3、如從串資源引用窗口雙擊某一串時,光標(biāo)將移到那個串上并以紅色顯示那個串,其實在大多數(shù)情況下完全用不著這樣,只要一口氣將串顯示出來中文串就能正確顯示了,這樣顯示速度還更快。
0條評論