QNA > C > Come Aprire Il Codice Sorgente Dei File .Exe

Come aprire il codice sorgente dei file .exe

Questo dipende dal linguaggio di programmazione.
È impossibile decompilare i linguaggi usando compilatori che generano codice nativo della CPU. È possibile disassemblare il codice nativo della CPU in assembly, ma questo non aiuta molto, specialmente non oggi con compilatori ottimizzanti.
Give me one example of C/C++ code:

  1. for(int a = 0; a < 10; a++) 
  2. // some code 
  3.  
  4. int b = 10; 

Above for loop, even with optimizations set to 1 (lowest), will keep variable a in CPU register. Ma guardate questo, la variabile b non sarà inizializzata a 10 ma il compilatore semplicemente copierà il registro dove si trova la variabile a perché sa che a è 10!

Un passo più in alto sono i cosiddetti linguaggi CLR come C# o Java. C# non produce un linguaggio nativo per la CPU ma, a seconda delle opzioni di compilazione, codice gestito (intermedio) che viene poi compilato in codice nativo. Questo è un po' meglio, ma ancora il sorgente generato sarà lontano dall'originale.

Il passo successivo sono i linguaggi semi-compilati dove il sorgente può essere estratto. Per esempio anni fa ho lavorato con Clipper dove siamo stati in grado di decompilare completamente il codice in un file sorgente, ma abbiamo perso i nomi delle variabili!

Al livello più alto ci sono gli script che potrebbero essere memorizzati in un exe insieme all'interprete appropriato. Tali strumenti esistono per, ad esempio, Python.

E alla fine questo che stai chiedendo si chiama - reverse engineering!
Le aziende, di solito, ti faranno causa per furto.

Di Osber Lovejoy

Perché Kik è diventato così popolare in così poco tempo? :: Posso registrare legalmente la mia chiamata Messenger?
Link utili