4.El Crackme de Cruehead

  • Upload
    rogncx

  • View
    148

  • Download
    8

Embed Size (px)

DESCRIPTION

jj

Citation preview

  • 5/26/2018 4.El Crackme de Cruehead

    1/4

    Programa: Craxkme adjunto al tute 1

    Propsito del tute:Generar el keygen respectivo para el

    programa del tute 1

    Herramientas: Para el KeyGen:RADASM

    MASM32

    Nivel: Principiante

    Cracker:

    Y seguimos con lo que nos falta, que no es tan poquito.

    En la parte anterior vimos como calculaba el valor de EAX que era el que al final

    decida si nuestro serial era bueno =)

    Bien sabemos que para registrarnos se debe cumplir:

    EAX = EBX

    Serial de comprobacin = serial que ingresamos

    Le daremos nombres ms cortos as que llamaremos al serial de comprobacin

    SERIALV y al serial que nosotros ingresamos SERIALF por lo tanto debemos hacer

    que:

    SERIALV = SERIALF

    Sabemos que SERIALV es calculado as:

    N A R V A J A

    4E + 41 + 52 + 56 + 41 + 4A + 41

    203

    203

    |______________________________________|

    XOR =5678 547B

    Y que a SERIALF se le hacen los Sgts. clculos:

    SERIALF XOR 1234

    Por lo tanto planteamos la ecuacin

    SERIALV = SERIALF XOR 1234

    SERIALV XOR 1234 = SERIALF

  • 5/26/2018 4.El Crackme de Cruehead

    2/4

    Y con esto ya tendramos la base de lo que debe hacer nuestro KeyGen =)

    Resumamos:

    Cogeremos cada carcter de nuestro nombre y los iremos sumando uno con otro.

    A ese valor le haremos XOR 5678

    A este nuevo valor le haremos XOR 1234 El valor obtenido es el serial que debemos ingresar en el crackme

    Vamos al RadAsm yo voy a usar la plantilla de DialogApp

    Lo que est en verdees lo que ya est en el RadAsm y lo de rojo es lo que hay que

    escribir y lo fucsia es el cdigo explicado.

    Yo he arreglado el programa as

    ID 1001

    ID 1002

    ID 1003

    Lo que est junto al programa que dice ID 100X es el identificador del control que se

    usar cuando escribamos cdigo lo pongo para no hacernos lo.

    El cdigo sera:

    .elseif eax==WM_COMMAND

    mov eax,wParam

    .if eax==1003

    invoke GetDlgItemText,hWin,1001,addr nombre,11

    call Generacion

    mov eax,serial

    invoke SetDlgItemInt,hWin,1002,eax,1

    .endif

    Bueno aqu no hay novedad si leyeron mi primer tuto sabrn que es todo eso =) lo nico

    que podra llamarnos la atencin es esto:

    invoke SetDlgItemInt,hWin,1002,eax,0

  • 5/26/2018 4.El Crackme de Cruehead

    3/4

    Que es la llamada a la API para que nos muestre el valor numerico que est en EAX ya

    que en este caso no necesitamos como en el primer tute valores alfanumricos la API

    consta de:

    SetDlgItemInt,

    hWin,manejador de la ventana (handle)

    1002,identificador del control donde se mostrar el resultado

    Eax,valor a mostrar (en este caso un registro)

    0Esto nos permite trabajar con enteros con signo dentro de

    RadASM, si tuviramos un 0, no podramos hacer cuentas del tipo 5-155, o sea que no

    nos mostrara un 150 sino un nmero extrao, grande y encima positivo. (tiene este

    color porque la aclaracin no es ma, fijense que usamos 0 porque no nos interesa con

    signo)

    La parte medular sera la generacin del serial que es esta:

    DlgProc endp

    Generacion:

    xor eax,eax

    xor ebx,ebx

    xor ecx,ecx

    Generacion1:

    mov al,byte ptr ds:[nombre+ebx]

    .if al!=0

    add ecx,eax

    mov serial, ecx

    inc ebx

    jmp Generacion1

    .endif

    xor serial,5678h

    xor serial,1234h

  • 5/26/2018 4.El Crackme de Cruehead

    4/4

    ret

    end Start

    Esto no creo que haya que explicar porque paque pero fue fcil, igual si hay dudas

    tienen mi mail para ver si puedo apoyarlos en algo =).

    Y Uds. Creyeron que solo yo hago todo pues na-nai-na-nai Uds. Tambin pongan de su

    parte jaja, el KeyGen que adjunto est incompleto, Se acuerdan que haca cuando el

    nombre que ingresbamos era en minsculas? Pues este Keygen tiene ese bug

    intencional les toca a Uds. corregirlo jaja tendrn que ingenirselas para que el

    programa genera una clave valida si el nombre que ingresa el usuario es en minsculas

    =) que malo!!! Juajuajuajua =)

    Terminamos, ahora si dudas, comentarios, correcciones, etc. Con gusto a mi correo

    [email protected]

    Segn como tenga comentarios positivos o negativos seguir con otro tute estoy

    pensando en algn programa comercial que es lo que mas suele interesar para conocercomo intentan proteger su software algunos programadores (algunos a punta de

    oraciones porque hay unos cuya rutina de comprobacin da pena, si hasta yo que tengo

    poco tiempo en esto las descifro jaja) as que a escribir si les ha gustado muchachos

    jejeje =)

    FIN

    Como siempre saludos especiales a mi esposa Jojita quien me apoya en cada nueva

    locura que me meto, gracias bb.

    Mis padres por el aguante que me tienen =)

    Y claro a los listeros de Cracks Latinos, especialmente a: Ricardo Narvaja (que espero

    no le moleste que hayamos usado parte de su tute jaja).

    Mencin especial para ti que lees este material, ya que si no lo hicieras no habra razn

    de escribir.

    Hasta la prximaMartes 27 de Junio de 2006