所以,我有一个由可执行(exe)文件和DLL组成的应用程序。有没有办法可以找到用于开发此软件的特定语言。我尝试在反汇编程序中打开它,但内容似乎是乱码。有什么想法吗?
答案 0 :(得分:2)
在十六进制编辑器中打开.dll或.exe并搜索“copyright”一词。大多数编译器将运行时库的版权信息以明文形式放入可执行文件中。
获取IDA专业版。 http://www.hex-rays.com/idapro/这是 工具,可以使用二进制文件或进行逆向工程。它将能够找到运行时库,也可能找到语言。
该工具的Evaulation和免费软件版本可在此处找到:https://www.hex-rays.com/products/ida/support/download.shtml
答案 1 :(得分:1)
不太可能,除非它有一个重要的运行时库来提供它。例如VB应用程序曾经需要一个名为VB的巨大DLL,Visual C ++应用程序通常需要安装C ++运行时。但现代语言针对的是与语言无关的运行时。甚至Java .class文件也可能来自各种源语言。
答案 2 :(得分:1)
原则上,答案是否定的。然而,在实践中,只有几个选择:
something.dll
,它可能是本机dll图像,这意味着它可能是用C或C ++编写的。Namespace.Something.dll
,它可能是一个托管dll,这意味着它是用某种.NET语言编写的(C#,VB.NET等)mscoree.dll
那么它就是.NET dll(即使它不遵循标准的.NET命名约定)。它也可能使用其他语言特定的dll来提供额外的线索。