第三節Delphi 反編譯工具
反向工程一直被認為是技術奇才的專有藝術,需要熟悉組合語言和調試器。下面幾個Delphi反編譯器允許任何人反編譯大多數Delphi可執行文件,即使只有有限的技術知識。
如果你對Delphi程式反向工程有興趣,我建議你看以下幾個「反編譯器」:
DeDe
DeDe是一個非常快的程序,用於分析Delphi編譯的可執行檔。反編譯之後,DeDe會提供以下資訊:
Revendepro
Revendepro可以找到程式中幾乎所有的結構(類別、類型、過程等),並產生pascal表達式、過程則以組譯程式的形式寫出來。由於組譯器的某些限制,產生的結果不能被在編譯。這個反編譯器的原始碼可以免費取得。不幸的是,這是唯一一個我不能使用的反編譯器—當試圖用它反編譯某些Delphi可執行檔時,總提示異常。
MRip
這個對用途文件分割器可以從其它檔案中尋找和摘取檔案。 MRIP分割100多種文件格式。對我們而言,最重要的是MRipper可以反編譯任何Delphi可執行檔。該工具可以從Delphi應用程式中摘取所有的資源:cursors(遊標)、icons(圖示)、dfm檔案、pas檔案和其他資源。 pas檔案不包含事件過程執行。 MRIP是DOS工具。
DfmExplorer
以下是DfmExplorer的說明(包括原始資料):
Exe2Dpr
如果你試圖放鬆你的工程原始碼,這個Delphi工程原始碼救援器可以挽救遺失的原始碼部分。救助器產生所有的帶已分配屬性和事件的工程表單和資料模組。產生的事件過程沒有主程式(它不是反編譯器),但又在可執行檔中的程式碼位址。這個工具沒有GUI—它使用命令列的形式:'exe2dpr [-o] exeFile'。工程原始碼在目前目錄建立。如果你想要覆蓋目前目錄的任何已存在的文件,你可以使用選項'-o'。