How to determine the programming language used for software development?

Possible duplicate:
Find used programming language

So, I have an application consisting of an executable (exe) and a DLL. Is there a way to find out the specific language used to develop this software. I tried opening it in a disassembler, but the contents seem distorted. Any ideas?

+6
disassembly reverse-engineering
source share
3 answers
  • Open .dll or .exe in a hex editor and find the word "copyright". Most compilers put the runtime library copyright message into the plaintext executable file.

  • Get the IDA program. http://www.hex-rays.com/idapro/ This is a tool for working with binary files or for reverse engineering. He will be able to recognize the runtime library and possibly the language.

    Evaulation and free versions of the tool can be found here: https://www.hex-rays.com/products/ida/support/download.shtml

+2
source share

It is unlikely if it does not have a significant runtime library that gives it away. for example, VB applications require a huge DLL with VB in the name; for Visual C ++ applications, C ++ runtime setup is usually required. But modern languages ​​are oriented towards independence from the language. Even Java.class files can come from a wide variety of source languages.

+1
source share

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

  • If the name of the .dll looks like something.dll , it may be a native dll image, which means that it was probably written in C or C ++.
  • If the dll name looks like Namespace.Something.dll , it is probably a managed dll, which means that it was written in some .NET language (C #, VB.NET, etc.).
  • You can check import dll for more information. If dll uses mscoree.dll , then it is dll.NET (even if it does not comply with standard .NET naming conventions). It can also use other language-specific DLLs that provide additional hints.
+1
source share

All Articles