Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: yako-_- en 14 Mayo 2010, 16:25 pm



Título: Desafío Crackme Java
Publicado por: yako-_- en 14 Mayo 2010, 16:25 pm
Hola a todos os traigo un crackme que me hizo un colega para ver si yo era capaz de sacar el serial. No es que sea difícil (el ya me lo advirtio). pero para mi lo curioso es que es en java y con ollydbg no hable (o yo no fui capaz de hacerlo).

Es un crackme para newbies como yo. Pero si algun maestro quiere sacarlo y explicar como lo hizo aprendemos todos  :laugh:

Objetivo:

Sacar serial o parchear y explicar como y Herramientas utilizadas


(http://r.i.elhacker.net/cache?url=http://img189.imageshack.us/img189/796/dibujohyv.jpg)

Descarga:

http://www.megaupload.com/?d=12QSRHJJ

Tamaño del archivo: 225.19 KB


Título: Re: Desafío Crackme Java
Publicado por: tena en 14 Mayo 2010, 18:09 pm
Ya lo baje...
    No lo vas a creer pero el primer serial que le puse para ver que decia, me dijo felicitaciones  :o  :o

es la primera vez que me pasa juasjua.... Naaa el serial es la misma combinacion que uso siempre para testear jeje...    :silbar:

Slds


Título: Re: Desafío Crackme Java
Publicado por: tena en 14 Mayo 2010, 18:47 pm
Bueno es sencillo.
Primero extraes el contenido del jar, y luego decompilas con JDecompiler la clase jCrackMe.class

Dentro tenemos el evento del boton

Código:
private void jButton1ActionPerformed(ActionEvent evt)
    {
        if([b]registra(jT_key.getText())[/b])
        {
            JOptionPane.showMessageDialog(this, "Craked", "Craked", 1);
            jPanel2.setVisible(false);
            jLabel2.setIcon(new ImageIcon(getClass().getResource("/imagenes/homer.png")));
        } else
        {
            JOptionPane.showMessageDialog(this, "Clave incorrecta", "Error", 0);
        }
    }

Si la funcion Registrar retorna true, entonces se registra...
Si miramos la funcion...

Código:
boolean registra(String key)
    {
        if(key.length() >= 8)
            return key.substring(2, 4).equals(key.substring(6, 8));
        else
            return false;
    }

Basicamente lo que dice es que si el serial que metiste cumple con esas condiciones, te devuelve true, osea si los caracteres que ocupan la posicion 2,3 y 4 son iguales a los que ocupan la posicion 6,7 y 8.

Un serial valido, el que use primero jeje, seria 21212121

slds


Título: Re: Desafío Crackme Java
Publicado por: yako-_- en 14 Mayo 2010, 21:26 pm
 ;-)  mas veloz imposible tena

Yo es que nunca mire un java por dentro pero el tema es que tienes que saver programar en java para crackearlo verdad?? por que lo que te decompilo es el codigo fuente no???


Título: Re: Desafío Crackme Java
Publicado por: Exheon en 19 Mayo 2010, 12:17 pm
;-)  mas veloz imposible tena

Yo es que nunca mire un java por dentro pero el tema es que tienes que saber programar en java para crackearlo verdad?? por que lo que te decompilo es el codigo fuente no???

Si, es el codigo fuente, un .java cualquiera.  ;)
Supongo que definitivamente no se abre con el ollydbg, yo tambien lo intenté un par de veces, pero dejemos que los expertos nos aclaren la duda.

Despues de todo tambien soy un newbie.

salud!!!

perdon, saludos  :silbar: