令人惊奇的是有Exe To Pas的工具,目前我知道的有:1) 使用IDA的Flirt技术,可以反汇编显示所有Delphi库函数和VCL函数
2)我看到一个工具的说明:
This page is about creating a Delphi decompiler on which I'm working now. The program is written for Delphi 4 and will not work with a previous version of Delphi.
Also it can only decompile programs written with the same version of Delphi as the decompiler is compiled with. Here I will put information about what I already have
and how I want to extend my program, if you have any comments or what so ever pease e-mail me. What it doesThe port to Delphi 5 didn't work, because Delphi 5 leaves the relocation data out of the program and my program heavily relies on it.It gets all the classes, because these have a Self pointer in their VMT. And they must all derive from TObject (more information about finding classes).It gets also get all the TypeInfos, this is the type information for all your types declarations, which are used with automatic initialization/finalization or passed to TypeInfo.
These TypeInfos can be found, because they have a pointer to them self before them, and their kind must exist (the classes are not accepted, because they are already
found).It gets a list of all procedures (functions, methods etc.) including nested procedures, but not including procedures without a direct call (the one only passed as
parameters). These partially get by following the calls.It gets a list of (ansi/wide)strings by searching for the strings hidden fields (reference count (-1), length). (0.0.2.0)It gets a list of resource strings (yes there is partial resource support). (0.0.2.0)It gets a list of vars and consts (consts are vars which value never changes), by just breaking the Data and BSS sections in parts using fixups and some auto generated
vars. (0.0.2.0)It puts all the information into a unit, which should be in the correct order. (0.0.2.0)Complete support for published properties. (0.0.2.2)Updated (26-7-1999): The list of procedure is extended with the imported procedures and contains much more information about the procedures (size, imported, method
etc.). Update (19-8-1999): There is now generated some real code which can recompiled, however there is no support for resources, types, strings and much more, but there
is (limited) support for objects.Update (18-9-1999): Many improvements, try decompiling a completely empty program, it generates a completely empty program (how amazing). Almost every thing is
supported, except interfaces, packages, resources and thread vars. And not all the system procs are supported.Vars are now kept in the original order to prevent problems with separating vars, which shouldn't be separator (0.0.2.2).Interface properties are supported, however type casting interface will cause unpredictable behaviour (0.0.2.2).There is now support for threadvars, only delphi removes them, because they are not directly accessed (0.0.2.4).There is now a screen indicatation that the program is running and makes is possible to cancel it (0.0.2.6).DFMs are also dumped now. (0.0.2.8)Some bug fixus concerning DFMs. (0.0.2.9)
2)我看到一个工具的说明:
This page is about creating a Delphi decompiler on which I'm working now. The program is written for Delphi 4 and will not work with a previous version of Delphi.
Also it can only decompile programs written with the same version of Delphi as the decompiler is compiled with. Here I will put information about what I already have
and how I want to extend my program, if you have any comments or what so ever pease e-mail me. What it doesThe port to Delphi 5 didn't work, because Delphi 5 leaves the relocation data out of the program and my program heavily relies on it.It gets all the classes, because these have a Self pointer in their VMT. And they must all derive from TObject (more information about finding classes).It gets also get all the TypeInfos, this is the type information for all your types declarations, which are used with automatic initialization/finalization or passed to TypeInfo.
These TypeInfos can be found, because they have a pointer to them self before them, and their kind must exist (the classes are not accepted, because they are already
found).It gets a list of all procedures (functions, methods etc.) including nested procedures, but not including procedures without a direct call (the one only passed as
parameters). These partially get by following the calls.It gets a list of (ansi/wide)strings by searching for the strings hidden fields (reference count (-1), length). (0.0.2.0)It gets a list of resource strings (yes there is partial resource support). (0.0.2.0)It gets a list of vars and consts (consts are vars which value never changes), by just breaking the Data and BSS sections in parts using fixups and some auto generated
vars. (0.0.2.0)It puts all the information into a unit, which should be in the correct order. (0.0.2.0)Complete support for published properties. (0.0.2.2)Updated (26-7-1999): The list of procedure is extended with the imported procedures and contains much more information about the procedures (size, imported, method
etc.). Update (19-8-1999): There is now generated some real code which can recompiled, however there is no support for resources, types, strings and much more, but there
is (limited) support for objects.Update (18-9-1999): Many improvements, try decompiling a completely empty program, it generates a completely empty program (how amazing). Almost every thing is
supported, except interfaces, packages, resources and thread vars. And not all the system procs are supported.Vars are now kept in the original order to prevent problems with separating vars, which shouldn't be separator (0.0.2.2).Interface properties are supported, however type casting interface will cause unpredictable behaviour (0.0.2.2).There is now support for threadvars, only delphi removes them, because they are not directly accessed (0.0.2.4).There is now a screen indicatation that the program is running and makes is possible to cancel it (0.0.2.6).DFMs are also dumped now. (0.0.2.8)Some bug fixus concerning DFMs. (0.0.2.9)
解决方案 »
- 在IE中可直接用WORD打开流文件,但网页中的执行代码是否可直接传输数据给word?
- 如何把一个本地的数据库封装起来?
- 关于抽将的问题:
- Excel导入SQL SERVER2000
- 求购一简单问题的解答!
- TServerSocket的stNonBlocking模式与stThreadBlocking模式有什么区别?还有那些有关的参数对他们性能的影响。最好有详细资料。
- 请问哪里有用clientSocket组件实现的代理socket5代理客户端例程?
- 请给一个读html页中字符串的例程
- 我要一个如QQ的菜单控件(我的好友,坏名单,陌生人)等,或类似的
- 如何确定某类中应该有哪些属性和方法?
- 使用COMMANTEXT不能CLIENTDATESET中的内容
- 怎么用左dbimage无法显示ACCESS97数据库中的BMP图片?
麻烦你能不能告诉我,在哪能找到这个工具及其网站在哪?
Download 地址:http://member.netease.com/~topage/