如何识别用于开发软件的编程语言?
可能的重复:
查找使用的编程语言
因此,我有一个由可执行 (exe) 文件和DLL。有什么方法可以找到用于开发该软件的特定语言。我尝试在反汇编程序中打开它,但内容似乎是乱码。有什么想法吗?
Possible Duplicate:
Find Programming Language Used
So, I have an application consisting of an executable (exe) file and a DLL. Is there a way I can find out the specific language used to develop this software. I tried opening it in a disassembler but the contents seems garbled. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
原则上,答案是否定的。但实际上,只有几种选择:
something.dll
,则它可能是本机 dll 映像,这意味着它可能是用 C 或 C++ 编写的。Namespace.Something.dll
,它可能是一个托管 dll,这意味着它是用某种 .NET 语言(C#、VB.NET 等)编写的。mscoree.dll
那么它就是一个 .NET dll(即使它不遵循标准 .NET 命名约定)。它还可能使用其他特定于语言的 dll 来提供额外的线索。In principle, the answer is no. In practice, however, there are only a few choices:
something.dll
, it's probably a native dll image, which means it was probably written in C or C++.Namespace.Something.dll
, it's probably a managed dll, which means it was written in some .NET language (C#, VB.NET, etc.)mscoree.dll
then it's a .NET dll (even if it doesn't follow standard .NET naming conventions). It may also use other language-specific dlls that provide additional clues.在十六进制编辑器中打开 .dll 或 .exe,然后搜索单词“版权”。大多数编译器将运行时库的版权信息以明文形式放入可执行文件中。
获取 IDA 专业版。 http://www.hex-rays.com/idapro/ 那是 处理二进制文件或进行逆向工程的工具。它将能够找到运行时库,也许还有语言。
可以在此处找到该工具的评估版和免费软件版本:https ://www.hex-rays.com/products/ida/support/download.shtml
Open the .dll or .exe in a hex editor and search for the word "copyright". Most compilers put the copyright message of the runtime library into the executable in clear text.
Get IDA pro. http://www.hex-rays.com/idapro/ That is the tool to work with binaries or do reverse engineering. It will be able to find out the runtime library and maybe also the language.
Evaulation and freeware versions of the tool can be found here: https://www.hex-rays.com/products/ida/support/download.shtml
不太可能,除非它有一个重要的运行时库来提供它。例如,VB应用程序过去需要一个名称中带有VB的巨大DLL,Visual C++应用程序通常需要安装C++运行时。但现代语言的目标是独立于语言的运行时。甚至 Java .class 文件也可能来自多种源语言。
Unlikely, unless it has a significant runtime library that gives it away. e.g. VB apps used to require a huge DLL with VB in the name, Visual C++ apps usually require the C++ runtime to be installed. But modern languages target language-independent runtimes. Even Java .class files may have come from a wide variety of source languages.