2009-11-02 9 views
11

¿Existe una herramienta para deobfuscate códigos ofuscados java?(2009) - Herramienta para deobfuscate códigos Java

Los códigos se extraen de una clase compilada pero están ofuscados y no son legibles.

+4

No es un duplicado, a menos que pueda encontrar uno que se refiera a * deobfuscation * (no ofuscación) –

Respuesta

9

¿Trataste de hacer el código menos oscuro con Java Deobfuscator (aka JDO), una especie de descompilador inteligente?

Actualmente JDO hace lo siguiente:

  • renombra métodos ofuscado, variables, constantes y nombres de clase ser único y más indicativo de su tipo
  • propogates cambios a lo largo del árbol entero fuente (beta)
  • tiene una interfaz gráfica de usuario fácil de usar
  • le permiten especificar el nombre de un campo, método y clase (nueva función!)

Actualmente JDO no hacer lo siguiente (pero algún día)

  • modificar el método de código de bytes de ninguna manera
+0

Lo intentaré. – Salar

+1

Esta aplicación no distingue entre mayúsculas y minúsculas para los nombres de archivo y eso causa muchos problemas. – Salar

14

El primer paso sería aprender con qué herramienta se ofuscado. Quizás ya haya un "desobuscador" para el ofuscador particular.

Por otro lado, también puede ejecutar un IDE y utilizar sus poderes de refactorización. Cambie el nombre de la clase, el método y los nombres de las variables a algo sensible. Usa tus poderes de pensamiento lógico humano para averiguar qué representa realmente el código y darles un nombre sensible. Y la imagen poco a poco crecerá.

Buena suerte.

+0

No sé qué ofuscador se utiliza. Y en el proceso de descompilación algunos métodos y variables aparece como "???" y vienen de la nada! estoy usando JD-GUI http://java.decompiler.free.fr/ – Salar

+1

JDO puedo ayudar a hacer eso.Ver http://stackoverflow.com/questions/1662766/tool-to-deobfuscate-java-codes/1662928#1662928 –

+1

Ah, de esa manera. Bueno, entonces el descompilador no era compatible con la versión original del compilador, p. descompilando contra Java 1.5 mientras el código fue compilado con 1.6. Esto no va a funcionar. Lea la documentación del decompilador y/o pruebe diferentes. – BalusC

1

más probable es que sólo mindpower humana para hacer sentido de eso. Obtenga el mejor descompilador disponible y pondere su salida.

5

He usado Java Deobfuscator (aka JDO) pero tiene algunos errores. No puede funcionar con nombres de archivo sensibles a mayúsculas y minúsculas. Así que he cambiado la fuente y subido un parche para que, en SourceForge. The patch, Download

6

Por no gravedig pero escribí una herramienta que funciona en la mayoría ofuscadores comerciales

https://github.com/Contra/JMD

+0

¿Hay un archivo Léame para esto? – 2371

+0

Realmente no lol. Acabo de agregar una compilación de producción, así que si va a Descargas, puede descargarla con la GUI – Contra

+0

"JMD se ha descontinuado por falta de tiempo y se actualizó por última vez el 24 de noviembre de 2010." ... Dos meses antes de su publicación. –

1

tal vez funcione en Unix/Linux/MacOS?

Si es así, podría mover un paso de su proceso a una VM, en donde desempaquetar el código, antes de cambiar el nombre de los nombres demasiado largos. ¿Cuánto dura el límite del nombre del archivo en Windows?

Cuestiones relacionadas