Estoy desarrollando una aplicación usando Java pero no voy a lanzar el código. El problema es que probé uno de estos compiladores de compilación de jar y pude obtener el código de mi archivo jar casi a la perfección. Mi pregunta es ¿cómo puedo distribuir mi archivo jar sin que se extraiga mi código?Cómo proteger un archivo Jar de la descompilación?
Respuesta
Como Java conserva la mayoría de los "metadatos" durante la compilación (lo que permite la carga dinámica y la reflexión), es sencillo descompilar (no solo desmontar) los archivos de clase compilados. Es por eso que el código recuperado es muy similar al original.
Aunque no es perfecto, su única opción es utilizar un ofuscador, como ProGuard.
No puede. Como mínimo, la JVM necesitará sacar el código para poder ejecutarlo. Y si la JVM puede sacar el código, cualquiera puede.
Lo mejor que puedes hacer es ofuscar el código, pero recomendaría que no lo haga porque hará que rastrear los errores de producción sea muy difícil porque los rastreos de la pila serán difíciles de seguir.
Entiendo que las (buenas) herramientas de ofuscación proporcionan una tabla que puede usar para traducir la salida de pila del ejecutable a las clases y líneas de código originales. Pero en general son más efectivos para comprimir el código, que protegerlo. –
No hay posibilidad de proteger el código del desmontaje. Puede usar una herramienta de ofuscación como 'proguard'. Incluso después de la descompilación, será casi imposible comprender el código.
Ofusca tu código usando algún ofuscador del mercado. Los ofuscadores cambian los nombres de tu clase y sus métodos a algunos nombres de aspecto extraño, por lo que es difícil para las personas entender el código. Tenga en cuenta que las personas aún podrían descompilar su código, pero lo único que les resultaría difícil es comprenderlo debido a los nombres confusos.
La desventaja de esto es que sería difícil para usted depurar y admitir el código ofuscado en caso de que su cliente se enfrenta a algunos problemas ya que los rastreos de pila en las excepciones tendrían los nombres de clase y método desordenados.
nunca es imposible realizar ingeniería inversa en java pero creo que Proguard es el mejor. También es posible integrarlo con su IDE (por ejemplo, NetBeans). y ygard para horm
- 1. Cómo proteger la clave de desencriptación de la descompilación?
- 2. ¿Cómo puedo proteger el nombre de usuario y la contraseña de MySQL de la descompilación?
- 3. ¿Cómo funciona la descompilación?
- 4. ¿Cómo crear un archivo jar encriptado?
- 5. ¿Cómo crear un archivo jar ofuscado?
- 6. descompilación java
- 7. ¿Cómo verificar la existencia de un archivo JAR y un archivo específico dentro de JAR?
- 8. contraseña proteger un archivo PDF
- 9. Cómo ejecutar un archivo JAR
- 10. ¿cuál es la mejor manera de proteger el código fuente .NET desde descompilación
- 11. Cómo proteger .NET DLL's
- 12. Modificación de un archivo jar
- 13. ¿Cómo leer un archivo de un archivo jar?
- 14. Descompilación de EXE a ASM
- 15. ¿Cómo puedo convertir un archivo JAR en un archivo EXE?
- 16. ¿Cómo modifico un archivo en un archivo jar usando ANT?
- 17. Cómo firmar un archivo JAR utilizando un archivo .PFX
- 18. Cómo crear un archivo Jar en Netbeans
- 19. Cómo ejecutar un archivo jar en Eclipse
- 20. ¿Cómo puedo editar un archivo .jar?
- 21. Descompilación de un método implementado con la palabra clave extern
- 22. ¿Cómo puedo proteger mi archivo "hibernate.cfg.xml"? (Nhibernate)
- 23. Modificar un archivo dentro de un jar
- 24. Cómo crear un archivo .jar usando la terminal
- 25. cómo mostrar el contenido de un archivo jar dentro de un archivo de la guerra
- 26. Cómo leer un archivo dentro de un Jar con JRuby
- 27. Puede agregar varios archivos jar en un archivo jar y luego iniciar ese archivo jar
- 28. Cómo cargar un recurso de un archivo JAR incrustado
- 29. Cambiar el icono de un archivo .JAR
- 30. Clases de listado en un archivo jar
Descubrí que el duplicado sugerido realmente responde mi pregunta. Gracias por las instrucciones. – Pouya