How to know in what language a program was written?

0

I downloaded a program in Windows, and I can not find information on what language it was programmed in. Is there any way to tell?

    
asked by anonymous 03.12.2017 / 15:56

2 answers

12

In general, easy and guaranteed can not know.

You can look at the binary in an editor that allows for this (probably a hexadecimal editor ) and look for binary signatures that delivered the information. It is common for the compiler to put something that indicates what was used to generate that binary.

If it does not, you can search for common functions used in the language library. But this can give false positives, especially if it is C functions. You would have to use other criteria to confirm.

It has non-standard binaries, this can help or hinder identification. Obviously so far it is not difficult to know that a code is Java because it is non-standard and does not need to look at the binary. In C # it's easy to identify too, but this is changing.

If none of these work there, you have to look for other signals, such as how to construct the code to try to see if it matches what a given language does. Much more complicated and easy to make. Obviously you have to know how specific compilers generate binaries.

There are utilities that help with this task, but I've never used them for this:

Some promise miracles that are not realistic. You can only guarantee in the most obvious cases where you even looking at the binary can see what it is. These ones I've cited are just tools to help.

    
03.12.2017 / 16:18
1

I researched a little bit about the subject, I realized that back to the present day we use reverse engineering to find out in which language the program / application was created, but depending on the security and encryption of the program it is very difficult. >

Nowadays it's a bit more "practical" to know this, with some specific programs, I found in an article one of the programs used, below:

[1] link

    
03.12.2017 / 16:19