(2009) - Strumento per deobfuscate codici Java
-
12-09-2019 - |
Domanda
Esiste uno strumento per deobfuscate Java codici offuscati?
I codici vengono estratti da una classe compilato ma sono offuscati e non leggibile.
Soluzione
Hai provato a rendere il codice meno oscuro con Java Deobfuscator (aka JDO) , un genere di intelligente decompilatore?
Attualmente JDO esegue le seguenti operazioni:
- rinomina metodi offuscato, variabili, costanti e nomi di classe essere unico e più indicativo di il loro tipo
- propagherà modifiche durante l'intero albero dei sorgenti (beta)
- ha un facile da usare GUI
- consentono di specificare il nome per un campo, il metodo e la classe (novità!)
Al momento JDO non fa il in seguito (ma potrebbe un giorno)
- metodo di modifica bytecode in alcun modo
Altri suggerimenti
Il primo passo sarebbe quello di imparare con quale strumento è stato offuscato. Forse c'è già un "Deobfuscator" giro per la particolare obfuscator.
D'altra parte, è anche possibile semplicemente eseguire un IDE ed usare i suoi poteri di refactoring. Rinominare la classe, metodo e nomi delle variabili a qualcosa di sensibile. Usa i tuoi poteri pensiero logico umani di capire ciò che in realtà rappresenta il codice e il nome loro sensibilità. E il quadro sarebbe lentamente ma inesorabilmente crescere.
In bocca al lupo.
Per non gravedig ma ho scritto uno strumento che funziona sulla maggior parte obfuscators commerciali
Java Deobfuscator (aka JDO) ma ha qualche bug. Non può funzionare con i nomi di file maiuscole e minuscole. Così ho cambiato la fonte e caricato una patch per quella in sourceforge. La patch , Scarica
Molto probabilmente solo MindPower umana per dare un senso di esso. Prendi il miglior decompilatore disponibili e riflettere sulla sua uscita.
Forse funziona su Unix / Linux / MacOS?
Se è così, si potrebbe muovere un passo del processo a una macchina virtuale, in cui si estrae il codice, prima di rinominare i nomi troppo a lungo. Quanto tempo è il limite nome del file in Windows?