Search code examples
windowslanguage-agnosticprogramming-languages

Possible to figure out what programming language a dll or exe was written in?


I find myself wondering about this on occasion but don't know of a way to check.


Solution

  • The easiest check you can make is to determine what .dlls the image (.exe or .dll) in question depends on. If you are lucky, some subset of .dlls will correspond to a known distribution of a particular language runtime environment. If you are less lucky, you should at least be able to determine if the app was written in MSIL or native code by running ildasm.exe over the image. If it's managed, then you can then look at the referenced assemblies to determine the language runtime.

    If the image is a native module, then you can either be satisfied that it was written in C/C++ or assembly, or you can start debugging and look for known opcode patterns. Although at that point I think it doesn't matter.