軟體反編譯的方法

來源:酷知科普網 1.98W

作為一名程式設計師,當遇到做的很好、有借鑑意義的軟體時,總是忍不住要看看人家程式碼是怎麼寫的,是怎樣做到這樣強大的功能的,但往往我們並不知道軟體是誰寫的,也就沒辦法與軟體作者進行溝通了,那是不是就沒有辦法達成我們學習進步的美好願望呢?其實,辦法是有的,軟體反編譯就是一個很好的辦法,但這裡筆者並不建議大家用這樣的辦法來盜版別人的軟體,學習借鑑倒是可以的。

步驟/方法

(01)現在的程式語言越來越多,我們只有知道目標軟體是哪種程式語言和平臺開發出來的,才能有的放矢的選擇相應的反編譯軟體。而PEiD是一款著名的查殼工具,其功能強大,現在有軟體很多都加了殼,給破解漢化帶來非常大的不便,PEiD幾乎可以偵測出所有的殼,其數量已超過470 種PE文件 的加殼型別和簽名,另外還可識別出EXE檔案是用什麼語言編寫的,比如:VC++、Delphi、VB或Delphi等。例如下圖,PEiD的截圖,用紅色圈包圍起來的顯示的是軟體的開發語言。上圖顯示的是用Microsoft Visual C++6.0開發的DLL上圖顯示的是用Borland Delphi 6.0-7.0開發的exe

軟體反編譯的方法
軟體反編譯的方法 第2張

(02)知道了是何種開發語言,我們就可以選擇反編譯軟體了,對於微軟開發平臺開發出來的軟體,我們通常使用 Reflector,在檔案選單中將需要反編譯的DLL或EXE載入進來, Reflector就會自動幫我們反編譯,我們可以在 Reflector直接檢視反編譯後的原始碼,也可以將原始碼匯出,具體操作步驟見下圖

軟體反編譯的方法 第3張
軟體反編譯的方法 第4張
軟體反編譯的方法 第5張

(03)Borland Delphi筆者用過的反編譯軟體為DeDe,操作過程跟 Reflector類似,將軟體載入進來,點選處理,會彈出提示“等載入完成後點選OK”,詳細步驟可參見。

軟體反編譯的方法 第6張

(04)JAVA開發出來的軟體,筆者推薦Java Decompiler,十分好用。如下圖所示,反編譯後原始碼很清晰

軟體反編譯的方法 第7張

特別提示

本文提供的方法僅供學習軟體開發之用,請勿用於軟體盜版等其他用途。

熱門標籤