Domanda

Penso che gli eseguibili Java (file jar) siano banali da decompilare e ottenere il codice sorgente.

E le altre lingue?.net e tutto il resto?

Quali linguaggi possono essere compilati solo in un codice decompilabile?

È stato utile?

Soluzione

In generale, linguaggi come Java, C# e VB.NET sono relativamente facili da decompilare perché sono compilati in un linguaggio intermedio e non in puro linguaggio macchina.Nella loro forma IL, conservano più metadati rispetto al codice C quando compilato in linguaggio macchina.

Tecnicamente non stai ottenendo il codice sorgente originale, ma una variazione del codice sorgente che, una volta compilato, ti restituirà il codice compilato.Non è identico al codice sorgente, poiché elementi come commenti, annotazioni e direttive del compilatore di solito non vengono riportati nel codice compilato.

Altri suggerimenti

I linguaggi gestiti possono essere facilmente decompilati perché l'eseguibile deve contenere molti metadati da supportare riflessione.
Linguaggi come C++ possono essere compilati in codice nativo.La struttura del programma può essere totalmente modificata durante i processi di compilazione raduzione.
Il compilatore può facilmente sostituire\unire\eliminare parti del tuo codice.Non esiste una relazione 1 a 1 tra il codice originale e quello compilato (nativo).

.NET è molto facile da decompilare.Lo strumento migliore per farlo sarebbe il Riflettore .NET recentemente acquisita da RedGate.

La maggior parte dei linguaggi può essere decompilata, ma alcuni sono più facili da decompilare rispetto ad altri..Net e Java inseriscono più informazioni sul programma originale negli eseguibili (nomi di metodi, nomi di variabili ecc.) in modo da ottenere più informazioni originali.

C++ ad esempio tradurrà variabili e funzioni ecc.agli indirizzi di memoria (sì, lo so che è una grossolana semplificazione) in modo che il decompilatore non sappia come si chiamavano le cose.Ma puoi comunque ripristinare parte della struttura del programma.

VB6 se compilato in pcode è anche possibile decompilare in un sorgente quasi completo utilizzando P32Dasm, Flash (o actionscript) è anche possibile decompilare nel codice sorgente completo utilizzando qualcosa di simile Bagliore

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top