Estoy desarrollando un software de seguridad y quiero ofuscar mi código java por lo que será imposible realizar ingeniería inversa. ¿Cuál es el ofuscador de Java más confiable?¿El mejor ofuscador de Java?
Respuesta
En primer lugar, realmente debe tener en cuenta que es nunca imposible de aplicar ingeniería inversa. Todo es pirateable Un desarrollador inteligente que use un IDE inteligente ya puede llegar lo suficientemente lejos.
Bueno, puedes encontrar here una lista. ProGuard es bastante bueno. Lo he usado yo mismo, pero solo para "minificar" el código Java.
@BalusC: Entonces, ¿qué herramienta utilizas para ofuscar el código de Java? usted ofusca su código java, ¿no? – Thinhbk
@Thinhbk La ofuscación hace que sea más difícil obtener rastros de pila útiles. –
@ ThorbjørnRavnAndersen: De acuerdo. OMI, la ofuscación hará que los rastros de pila se vuelvan casi inútiles.En ese caso, estoy usando algún truco con el log msg, que puede ayudar. – Thinhbk
Utilicé Allatori e hizo su trabajo bastante bien.
Creo que Proguard es el mejor. También es posible integrarlo con su IDE (por ejemplo, NetBeans). Sin embargo, considere que si usted ofusca su código, podría ser difícil hacer un seguimiento de los problemas en sus registros.
+1 para "tenga en cuenta que si usted ofusca su código, podría ser difícil hacer un seguimiento de los problemas en sus registros". Justo cuando creía que la depuración era lo suficientemente difícil ... –
Un buen ofuscador que cambie los nombres y la información del número de línea debería generar un registro para revertir el proceso. De esta forma, al menos las trazas de pila siguen siendo útiles para los binarios ofuscados. –
ProGuard crea dichos archivos inversos para la depuración. :-) – Malax
Solía trabajar con Klassmaster en mi empresa anterior y funciona muy bien y puede integrarse bastante bien con los sistemas de compilación (maven el apoyo es excelente). Pero no es gratis sin embargo.
Como dije en otro lugar aquí, proguard es bueno, pero lo que podría no saberse es que también hay un complemento de maven de terceros aquí http://pyx4me.com/pyx4me-maven-plugins/proguard-maven-plugin/ ... los he usado juntos y son muy bueno.
Si una computadora puede ejecutarlo, un humano motivado adecuadamente puede realizar una ingeniería inversa.
¿Cuántas personas pueden leer el código ofuscado y comprender la lógica? Tengo muchos amigos ingenieros y no pueden hacer eso. Solo John Nash puede hacer esto;) – kodmanyagha
@kodmanyagha Si estuvieran lo suficientemente motivados, lo aprenderían. No es dificil. –
Hemos tenido mucha mejor suerte cifrando los frascos en lugar de ofuscarlos. Usamos Classguard.
Si no ha leído "descifrado del cifrado de código de bytes de Java" (http://www.javaworld.com/javaworld/javaqa/2003-05/01-qa-0509-jcrypt.html) de Vladimir Roubtsov, puede desear para hacer eso ahora –
Compruebe hacia fuera mi artículo Protect Your Java Code - Through Obfuscators And Beyond para una discusión de la ofuscación contra otros tres maneras de hacer la ingeniería inversa de sus aplicaciones más caras, y una colección de enlaces a herramientas y otros materiales de lectura.
Esto es lo que realmente necesito. Quiero escribir PHP ofuscador para mis proyectos. La lógica es la misma en todos lados. Gracias ... – kodmanyagha
Artículo fresco y extenso sobre la ofuscación de Java y la recopilación de software. – erm3nda
Es cierto que siempre es posible realizar ingeniería inversa de algún código, al igual que es imposible proteger una casa en orden para que nadie pueda robarla. Eso no me impide bloquear la puerta, sin embargo. En realidad, no estoy en el mundo de Java, uso BitHelmet para .net.
+1 para regresar a la red 0. Esta respuesta no es inútil. – HaloWebMaster
no sé a ciencia cierta si la solución es segura, sino de la solución ClassGuard, es interesante para leer el artículo y el comentario en: http://www.javaworld.com/community/?q=node/1604#comment-12296
Y otra alternativa que también usa código nativo en lugar de defineClass es [JarCrypt] (http://www.componio.com/products/jinstaller/jarcryp/) – Renato
Un artículo que enseña cómo crackear [ClassGuard] (http: // zenofx .com/classguard /): http://setrst.blogspot.com/2010/04/classguard-unguarded.html. Simplemente no sé si esto todavía funciona en la última versión. – Renato
- 1. ¿Buen ofuscador de correo electrónico no invasivo y antispam?
- 2. ¿Existe un ofuscador Delphi que funcione para> = Delphi 2007
- 3. ¿Cuál es el mejor datepicker de Java ..?
- 4. Mejor editor GUI de Java
- 5. ¿Mejor implementación de Java Queue?
- 6. Mejor Java OpenID biblioteca
- 7. ¿Cuál es el mejor marco de servicios web de Java?
- 8. ¿Cuál es el mejor visualizador de clases de Java?
- 9. ¿El mejor framework de aplicaciones web para Java?
- 10. ¿Cuál es el mejor enlace de OpenGL para Java?
- 11. ¿Cuál es el mejor carrito de compras disponible en Java?
- 12. ¿Qué tan bueno es Dotfuscator Community Edition? ¿Qué es "suficientemente ofuscador"?
- 13. Mejor biblioteca OpenID para Java
- 14. Java JSON serialization: mejor práctica
- 15. mejor biblioteca de cliente de java jabber
- 16. La mejor manera de analizar Java en Java
- 17. ¿La mejor biblioteca de Twitter java?
- 18. Mejor tipo de seguridad en colecciones Java
- 19. hilo de Java que es mejor manera?
- 20. JAVA - La mejor estructura de datos adecuada
- 21. Mejor API de corrección ortográfica para Java
- 22. ¿La biblioteca mejor conservada de Java XMPP?
- 23. Mejor generador de GUI para Java/Swing
- 24. ¿La mejor biblioteca de iCalendar para Java?
- 25. Mejor marco de caché para Java
- 26. ¿El mejor enfoque para GPGPU/CUDA/OpenCL en Java?
- 27. ¿Una mejor opción para el desarrollo multiplataforma: Java o C#?
- 28. ¿El mejor y más seguro Java Profiler para uso productivo?
- 29. Java: el mejor lugar para comenzar a aprender Redes Básicas
- 30. ¿cuál es el mejor analizador html para java?
@Xinus "llegar a ser imposible realizar ingeniería inversa" - difícilmente, Lo mejor ha intentado y ha fallado – ant
Tuve algunos colegas que crearon un código muy ofuscado. Pero esa no era su intención. –
'Una vez se dijo que si tuvieras una infinidad de monos en typewiters y una cantidad de tiempo infinita, escribirían todas las grandes obras de Shakespeare. - Dilbert – ant