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:
- for(int a = 0; a < 10; a++)
- {
- // some code
- }
- 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.
Articoli simili
- Quali sono le differenze tra codice macchina, codice byte, codice oggetto e codice sorgente?
- Come aprire il codice sorgente di un'applicazione Android tramite Android Studio
- Come aprire i file che dicono che non c'è un'applicazione per aprire il file
- Ogni volta che apro un qualsiasi file .exe su Windows 7, appare un errore che dice 'Windows non riesce a trovare D:\System volume information.exe?