revendepro可以找到程序中几乎所有的结构(类、类型、过程等),并生成pascal表达式、过程则以汇编程序的形式写出来。由于汇编程序的某些限制,生成的结果不能被在编译。这个反编译器的源代码可以免费获得。不幸的是,这是唯一一个我不能使用的反编译器—当试图用它反编译某些delphi可执行文件时,总提示异常。
mrip
这个对用途文件分割器可以从其它文件中寻找和摘取文件。mrip分割100多种文件格式。对我们而言,最重要的是mripper可以反编译任何delphi可执行文件。该工具可以从delphi应用程序中摘取所有的资源:cursors(光标)、icons(图标)、dfm文件、pas文件和其他资源。pas文件不包含事件过程执行。mrip是一个dos工具。
dfmexplorer
以下是dfmexplorer的说明(包括原始资料):
- 通过调用win32 api的“loadlibrary”或“loadlibraryex”函数在内存中载入可执行模块(exe\dll\bpl\dpl)。
- 通过win32 api的“enumresourcename”函数找寻rcdata资源。
- 载入每个发现的dfm块,解码它并以表的形式(包括它们的名称)存储在内存中。
- 在程序的主窗口我们可以以文本方式可视化所有载入可执行文件的所有的dfm。
- 最后,程序可以保存到dfm选择的磁盘,作为ascii文件(.rc)或作为二进制块(dat)连接到可执行文件中。