有没有办法知道程序是用VB,C#还是Delphi创建的?

时间:2011-03-15 00:18:32

标签: programming-languages

有没有办法知道程序是用VB,C#还是Delphi和编译器版本创建的?

3 个答案:

答案 0 :(得分:1)

最简单的方法是使用某些软件,例如 DependencyWalker ,看看他们使用的是什么DLL。

.NET二进制文件很容易理解,还有一些软件可以将它们重新组装回C#.NET,VB.NET或C ++ .NET代码(无论你想要什么)

您无法确定.NET二进制文件是用VB.NET还是C#.NET编写的,因为它已转换为 MSIL (Microsoft中间语言)。

资源浏览器等应用程序也应该告诉您有关二进制文件的信息。

如果你更具体一点,我可以提供更多。

答案 1 :(得分:1)

你可以使用像PEiD这样的工具(不幸的是这个项目已经停止,但应用程序仍在运行)。

  

PEiD检测到最常见的包装工,   PE文件的加密器和编译器。   它目前可以检测到600多个   PE文件中的不同签名。

答案 2 :(得分:0)

使用Delphi应用程序,您可以使用资源编辑器,如XN Resource Editor。每个可执行文件都有一个名为DVCLAL的RC_DATA资源,它将其标识为Delphi应用程序(并包含有关编译器版本的信息)。如果应用程序使用VCL(是Windows GUI应用程序),您还可以看到表示表单文件(DFM)的其他RC_DATA资源。您还可以使用十六进制编辑器在二进制文件中查看VCL / RTL类。

Reflector可以显示应用程序是C#还是VB.NET。

DependencyWalker(由另一个答案链接)将显示应用程序是否正在加载VB运行时,这将识别VB Win32应用程序。