How to tell what language an .exe is built with
Before deciding whether an old application can be maintained, recovered or migrated, you need to know what it was built with. A Windows executable leaves clear clues: the libraries it imports, the DLLs that come with it and compiler markers. This guide explains how to read them.
The clues that give the technology away
.NET
The executable has a CLR header and imports mscoree.dll. It usually comes with .config files and, for WinForms, System.Windows.Forms.
Visual Basic 5 and 6
It imports msvbvm60.dll (or msvbvm50.dll). The folder often includes .ocx controls.
Delphi and C++Builder
borlndmm.dll, .bpl packages or Borland and Embarcadero strings show up inside the file.
Visual FoxPro
It uses the vfp6r.dll, vfp8r.dll or vfp9r.dll runtime and folders with .dbf tables.
PowerBuilder
It depends on pbvm*.dll and often ships with .pbd libraries.
Java and packaged Python
A .jar (or a launcher that loads jvm.dll) is Java. A python3x.dll or PyInstaller markers point to Python.
How to check it yourself
Look at the files in the folder
The DLLs and OCXs next to the program say a lot: msvbvm60.dll, borlndmm.dll, vfp9r.dll or several .NET DLLs.
Open the file properties
Right-click, Properties, Details tab: product, version, copyright and date give context on who compiled it and when.
Use an executable analyser
Tools such as Detect It Easy show the compiler, imports and packers. They run locally.
Or try the free analyser on this site
Drop the file and in seconds it tells you the technology and how likely its code is to be recoverable. The file never leaves your browser.
Do not run what you do not know
You do not need to open the program to identify its technology. Analyse the file without executing it.
What each result means
.NET or Java
They usually keep almost all their structure when compiled: code recovery is generally high.
Visual Basic 6, Delphi, FoxPro, PowerBuilder
Forms, resources and part of the logic are recovered; the rest is rebuilt. Medium recovery.
Native C / C++, Go, protected programs
Their behaviour can be analysed, but the original code does not come back. The logic is rebuilt from analysis and data.
We only work on software you own or have the right to act on. This is not legal advice.
Frequently asked questions
Can I find out without running the program?
Yes. Reading the structure of the file is enough: header, imported libraries and compiler markers. That is what the free analyser on this site does.
What if the file is compressed or protected?
Tools such as UPX compress the executable and hide the real technology. It can be unpacked for analysis; if it is protected (Themida, VMProtect), the analysis is far more costly.
Is the result exact?
It is an estimate based on the file structure. It is right with common technologies but can fail with uncommon applications. An assessment confirms it.
Can I recover the source code with this information?
Knowing the technology is the first step. Recovery depends on it: usually high for .NET and Java, medium for VB6 or Delphi and low for native code.
Related
Contact
Email: jmoreno@stellariscode.com · Phone: +34 654 51 63 65