Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 274
Epitaph Avatar asked Mar 04 '10 19:03

Epitaph


2 Answers

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.
like image 176
JSBձոգչ Avatar answered Jan 25 '23 02:01

JSBձոգչ


  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

like image 30
Nils Pipenbrinck Avatar answered Jan 25 '23 01:01

Nils Pipenbrinck