elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Píldoras formativas en seguridad de la información


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  cifrar ejecutable .jar????
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: cifrar ejecutable .jar????  (Leído 7,947 veces)
Pablo Videla


Desconectado Desconectado

Mensajes: 2.090



Ver Perfil WWW
cifrar ejecutable .jar????
« en: 31 Julio 2009, 23:24 »

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  :-\


En línea

kinos

Desconectado Desconectado

Mensajes: 104



Ver Perfil
Re: cifrar ejecutable .jar????
« Respuesta #1 en: 1 Agosto 2009, 02:07 »

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


En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.090



Ver Perfil WWW
Re: cifrar ejecutable .jar????
« Respuesta #2 en: 1 Agosto 2009, 02:29 »

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
En línea

egyware


Desconectado Desconectado

Mensajes: 519



Ver Perfil WWW
Re: cifrar ejecutable .jar????
« Respuesta #3 en: 14 Agosto 2009, 17:07 »

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
En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.090



Ver Perfil WWW
Re: cifrar ejecutable .jar????
« Respuesta #4 en: 14 Agosto 2009, 18:53 »

Gracias por responder , ahora mismo buscare el programa  ;)
En línea

Darhius


Desconectado Desconectado

Mensajes: 1.187


Ver Perfil
Re: cifrar ejecutable .jar????
« Respuesta #5 en: 14 Agosto 2009, 22:09 »

Protecting Java Code Via Code Obfuscation

http://www.cs.arizona.edu/~collberg/Research/Students/DouglasLow/obfuscation.html
« Última modificación: 14 Agosto 2009, 22:27 por Darhius » En línea

abc
Darhius


Desconectado Desconectado

Mensajes: 1.187


Ver Perfil
Re: cifrar ejecutable .jar????
« Respuesta #6 en: 14 Agosto 2009, 22:21 »

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:
« Última modificación: 14 Agosto 2009, 22:24 por Darhius » En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines