开发者

How to identify the Programming Language used to Develop a Software? [duplicate]

This question already has answers here: Closed 12 years ago.

Possible Duplicate:

Find Programming Language Used

So, I have an applicati开发者_C百科on 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?


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.


  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


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜