如何识别用于开发软件的编程语言?

发布于 2024-08-23 15:42:04 字数 252 浏览 6 评论 0原文

可能的重复:
查找使用的编程语言

因此,我有一个由可执行 (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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

毁梦 2024-08-30 15:42:04

原则上,答案是否定的。但实际上,只有几种选择:

  1. 如果 .dll 名称看起来像 something.dll,则它可能是本机 dll 映像,这意味着它可能是用 C 或 C++ 编写的。
  2. 如果 dll 名称看起来像 Namespace.Something.dll,它可能是一个托管 dll,这意味着它是用某种 .NET 语言(C#、VB.NET 等)编写的。
  3. 您可以检查该 dll进口以获取更多信息。如果 dll 使用 mscoree.dll 那么它就是一个 .NET dll(即使它不遵循标准 .NET 命名约定)。它还可能使用其他特定于语言的 dll 来提供额外的线索。

In principle, the answer is no. In practice, however, there are only a few choices:

  1. If the .dll name looks like something.dll, it's probably a native dll image, which means it was probably written in C or C++.
  2. If the dll name looks like Namespace.Something.dll, it's probably a managed dll, which means it was written in some .NET language (C#, VB.NET, etc.)
  3. You can check the dll imports for more information. If the dll uses 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.
冷心人i 2024-08-30 15:42:04
  1. 在十六进制编辑器中打开 .dll 或 .exe,然后搜索单词“版权”。大多数编译器将运行时库的版权信息以明文形式放入可执行文件中。

  2. 获取 IDA 专业版。 http://www.hex-rays.com/idapro/ 那是 处理二进制文件或进行逆向工程的工具。它将能够找到运行时库,也许还有语言。

    可以在此处找到该工具的评估版和免费软件版本:https ://www.hex-rays.com/products/ida/support/download.shtml

  1. 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.

  2. 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

好菇凉咱不稀罕他 2024-08-30 15:42:04

不太可能,除非它有一个重要的运行时库来提供它。例如,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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文