Título: cifrar ejecutable .jar???? Publicado por: Pablo Videla en 31 Julio 2009, 23:24 pm Hola a todos , esa es mi duda , se puede cifrar el ejecutable hecho en java , un .jar? , esto es para que no me puedan leer mi codigo descompilando o algo parecido , y otra cosa , como puedo hacer para cifrar los string de conexion que conecta a una base de datos?
cosa para que no puedan leer de ninguna forma mi programa , ni sniffeandolo :-\ Título: Re: cifrar ejecutable .jar???? Publicado por: kinos en 1 Agosto 2009, 02:07 am Hay que hacer varias cosas. Todavía no he probado el tema que comentas pero tengo un librito mágico por aki. "Hackers de JAVA y J2EE".
Pone muchas cosillas. 1. Apagar la información de depuración al compilar: (para dar menos facilidades a la ingenieria inversa) -compilar asi--> javac -g:none Test.java 2. Ofuscación: -Consigue un ofuscador pa poner feo el codigo... to mu negro... 3. Modificar, codificar o cifrar los archivos de clase: -Escribir una herramienta para cifrar, codificar o modificar un archivo de clase normal de forma que sea incomprensible para cualquier JVM o descompilador. -Extender la clase URLClassLoader y sobreescribir el método findClass de forma que encuentre y descifre la clase que se cifró en el primer paso. -Escribir un programa de prueba que cargue una clase en particular con el cargador de clases propio. 4. Los peligros de las cadenas empotradas: -Ojo con lo que guardas en los strings (si esta el programa ejecutandose, digamos que puedes ver lo que hay en la ram, en los archivos de clase o algo asi... una clave de accesoo..) Y nose que más... esque si encriptases el jar supongo que no se podría ejecutar. Así que habría que hacer alguna cosa de estas. Suerte Título: Re: cifrar ejecutable .jar???? Publicado por: Pablo Videla en 1 Agosto 2009, 02:29 am y si quiero compilar un proyecto de netbeans , no puedo compilar clase por clase que son como 50 :xD, y sobre la ofuscacion buscare sobre el tema , gracias por la orientacion , si tienes mas info te lo agradeceria
Título: Re: cifrar ejecutable .jar???? Publicado por: egyware en 14 Agosto 2009, 17:07 pm Yo antes tenia la misma duda, existe un programa en Java que ofusca se llama ProGuard. Buscalo es facil de usar y muy dificill de descompilar he incluso te achica el Jar
Título: Re: cifrar ejecutable .jar???? Publicado por: Pablo Videla en 14 Agosto 2009, 18:53 pm Gracias por responder , ahora mismo buscare el programa ;)
Título: Re: cifrar ejecutable .jar???? Publicado por: 1mpuls0 en 14 Agosto 2009, 22:09 pm Protecting Java Code Via Code Obfuscation
http://www.cs.arizona.edu/~collberg/Research/Students/DouglasLow/obfuscation.html Título: Re: cifrar ejecutable .jar???? Publicado por: 1mpuls0 en 14 Agosto 2009, 22:21 pm Aqui encontraran una amplia variedad de Decompiladores y Ofuscadores
http://www.plentyofcode.com/2007/08/java-decompilers-and-obfuscators.html Yo utilizo proguard, aunque no lo se usar muy bien, trae muchas opciones, pero lo uso para cuando le voy a pasar algun programa (que vean como funciona) a mis cuates, para que no se roben mi código :laugh: pero me imagino que ya hay programas para arreglar eso xD, es cuestion de investigar. Asi te deja el codigo (repito no lo he usado a su maximo, asi que me imagino que usando otras opciones lo ha de dejar mas "oscuro" o feo :rolleyes:) Código: private boolean b() { Object obj; ab ab1; if(b_javax_swing_JTextField_fld.getText().equals("")) break MISSING_BLOCK_LABEL_198; obj = new i(b_javax_swing_JTextField_fld.getText()); obj = new D(((i) (obj))); ab1 = new ab(); double d1; d1 = ab1.a(((D) (obj)).a()); h_java_lang_String_fld = (new StringBuilder()).append("Exp Arit = ").append(String.valueOf(d1)).toString(); new StringBuilder(); this; JVM INSTR dup_x1 ; g_java_lang_String_fld; append(); a_char_fld; append(); b_javax_swing_JTextField_fld.getText(); append(); " = "; append(); String.valueOf(d1); append(); "\n"; append(); toString(); g_java_lang_String_fld; b_javax_swing_JTextArea_fld.setText(g_java_lang_String_fld); g_boolean_fld = true; break MISSING_BLOCK_LABEL_238; JVM INSTR pop ; a_h_fld.a("Error"); JOptionPane.showMessageDialog(this, "No se puede Evaluar", "Error", 0, new ImageIcon(getClass().getResource("/images/Error.png"))); break MISSING_BLOCK_LABEL_238; a_h_fld.a("Error"); JOptionPane.showMessageDialog(this, "Cadena vacia", "Error", 0, new ImageIcon(getClass().getResource("/images/Error.png"))); g_boolean_fld = false; return g_boolean_fld; } Saludos PD. Volviendo al tema, ¿Se puede cifrar un jar para evitar que lean tu código?? :huh: |