Entra

View Full Version : [Varie] Come faccio a conoscere il linguaggio di sviluppo di un exe?


Gremo
11-12-2008, 19:46
E' possibile saperlo? Come? grazie anticipatamente....

cdimauro
11-12-2008, 20:54
E' difficile saperlo, ma a volte qualcosa la puoi scoprire analizzando l'exe con un editor esadecimale e andando a caccia di simboli usati dai compilatori di alcuni linguaggi.

cionci
12-12-2008, 00:42
Credo che ci siano dei pattern prefissati abbastanza riconoscibili da compilatore a compilatore, per farlo ad occhio bisogna sicuramente prima disassemblare l'eseguibile.

banryu79
12-12-2008, 11:18
Esistono dei tool per fare reverse engineering che sono in grado di stimare appunto il compilatore che ha generato il codice.

Io conosco Packer Detector, prova a fare delle ricerche

fero86
12-12-2008, 21:43
non sempre é necessario analizzare i pattern dell'assembly generato, a volte alcuni indizi permettono di determinarlo in maniera semplicissima; ad esempio tutti i programmi scritti in MFC (quindi in C++) usano nomi particolari per le window class delle finestre, stesso dicasi per quelli scritti in Delphi, che peró potrebbero confondersi facilmente con quelli scritti in Borland C++ Builder.

senza contare che naturalmente i programmi per .NET sono completamente decompilabili, anche se magari non sempre é possibile determinare quale dei due linguaggi di programmazione (Visual Basic o Visual C#) é stato usato.

fero86
12-12-2008, 21:47
aggiungo che ormai MFC non é proprio il massimo per lo sviluppo di applicazioni Win32 in C++, di questi tempi é molto meglio WTL; ma anche per ATL e WTL vale la stessa cosa, usano nomi particolari per le window classes.

poi esistono altri toolkit grafici, come ad esempio wxWidgets; non so quali siano gli indizi lasciati da questi altri toolkits, ma penso proprio che ce ne siano.