Esiste uno strumento per deoffuscare i codici offuscati java?(2009) - Strumento per deoffuscare i codici Java
I codici vengono estratti da una classe compilata ma sono offuscati e non leggibili.
Esiste uno strumento per deoffuscare i codici offuscati java?(2009) - Strumento per deoffuscare i codici Java
I codici vengono estratti da una classe compilata ma sono offuscati e non leggibili.
Hai provato a rendere il codice meno oscuro con Java Deobfuscator (aka JDO), una sorta di decompilatore intelligente?
Attualmente JDO esegue le seguenti operazioni:
- rinomina metodi offuscato, variabili, costanti e nomi di classe essere unico e più indicativo di loro tipo
- propagherà modifiche in tutto l'albero intera sorgente (beta)
- ha una GUI facile da usare
- consente di specificare il nome per un campo, metodo e classe (nuova funzione!)
Attualmente JDO non fare il seguente (ma un giorno potrebbe)
- metodo di modifica bytecode in alcun modo
Il primo passo sarebbe quello di imparare con quale strumento è stato offuscato. Forse c'è già un "deobfuscator" in giro per il particolare obfuscator.
D'altra parte, è anche possibile eseguire un IDE e utilizzare i suoi poteri di refactoring. Rinominare la classe, il metodo e i nomi delle variabili in qualcosa di sensibile. Usa i tuoi poteri di pensiero logico umano per capire cosa rappresenta effettivamente il codice e nominali sensibilmente. E l'immagine crescerà lentamente ma sicuramente.
Buona fortuna.
Non so quale oscuratore è utilizzato. E sul processo di decompilazione alcuni metodi e variabili appaiono come "???" e vengono dal nulla! Sto usando JD-GUI http://java.decompiler.free.fr/ – Salar
JDO può aiutare a farlo.Vedi http://stackoverflow.com/questions/1662766/tool-to-deobfuscate-java-codes/1662928#1662928 –
Ah, in questo modo. Bene, quindi il decompilatore non supportava la versione del compilatore originale, ad es. decompilare contro Java 1.5 mentre il codice è stato compilato con 1.6. Questo non funzionerà. Leggi la documentazione del decompilatore e/o prova quelli diversi. – BalusC
Molto probabilmente solo MindPower umano di dare un senso esso. Ottieni il miglior decompilatore disponibile e medita sul suo output.
Ho usato Java Deobfuscator (aka JDO) ma ha alcuni bug. Non può funzionare con nomi di file sensibili al maiuscolo/minuscolo. Quindi ho cambiato la fonte e caricato una patch per questo in sourceforge. The patch, Download
Non gravedig ma ho scritto uno strumento che funziona sulla maggior parte obfuscators commerciali
C'è un readme per questo? – 2371
Non proprio lol. Ho appena aggiunto una build di produzione, quindi se vai su Download puoi scaricarlo con la GUI – Contra
"JMD è stato interrotto per mancanza di tempo ed è stato aggiornato l'ultima volta il 24 novembre 2010." ... Due mesi prima del tuo post. –
Forse funziona su Unix/Linux/MacOS?
In tal caso, è possibile spostare un passaggio del processo in una VM, in cui si scompatta il codice, prima di rinominare i nomi troppo lunghi. Quanto è lungo il limite del nome del file su Windows?
Non un duplicato, a meno che non ne trovi uno che parla di * deobfuscation * (non offuscamento) –