CURSO DE CRACKEO

Páginas: 5 (1204 palabras) Publicado: 11 de agosto de 2013
CURSILLO OTOÑAL DE CRACKEO - LECCIÓN 6

"LAS COMPARACIONES NO SIEMPRE SON TAN ODIOSAS"
(DE CAZA CON LA BESTIA)

Está claro que cuando un programa nos pide que introduzcamos un código
para registrarlo, más tarde o más pronto va a tener que hacer una
comparación de lo que se haya introducido con otra cosa. Hay muchas
formas de llevar a cabo este proceso de una forma más o menos
discreta,o dicho de otra manera, se puede hacer bien o mal. En este
detalle radica la debilidad de muchos productos shareware que han sido
ideados sin tener en consideración la existencia de desensambladores o
debuggers. ¿Pereza? ("Agh! Qué palo tener que escribir más código!)
¿Soberbia? (Buaff, si la gente no tiene ni idea, ¿cómo van a descubrir
mi hardcoded serial?) ¿Falta de pericia? ¿o quizássimplemente
desconocimiento de la existencia del arte del crackeo?

El siguiente estudio va a poner en evidencia algunas de las cosas que
no deberían hacerse, al menos para evitar que personas sin
conocimientos como nosotros tengan acceso a aquello que supuestamente
debería estar oculto.
Después de ya algunos años de tradición shareware algunos
programadores no han querido enterarse de queSON altamente
sospechosas instrucciones como :

CALL xxxxxxX ===== Aquí dentro está el tomate!!
TEST EAX,EAX
JNZ (SALTA A MENSAJE ERROR)

o bien:

CMP EAX,EDX ====== El propio "tomate" sin envasar!!!!
JNZ (SALTA A MENSAJE ERROR)


Tomemos una muestra de producto shareware y analicemos sus errores:
http://mirror.direct.ca/pub/simtelnet/win95/util/cline95.zip
COMMAND LINE 95 V.1.0
(Datoda la impresión de que se trata de un buen ejercicio para la
técnica del salto invertido con Wdasm, pero vamos a optar por hacer
uso de "la bestia" :)

Nada más darle al ejecutable una ventana nos invita a registrarnos.
Entramos en el área de registro donde apreciaremos que se nos pide
nombre y código. Lo Rellenamos con cualquier chorrada:
NAME: COCFRIENDS
code: 11991199

Antes dedarle a OK, pasamos a Softice con Ctrl+D y preparamos un par
de breakpoints para detener el proceso en cuanto los datos sean
recogidos:

bpx getwindowtexta (+intro)
bpx getdlgitemtexta (+intro)

Con Ctrl+D regresamos a Windows. Le damos a OK y !!bien!! Estamos en
softice. El break bpx getdlgitemtexta ha sido el triunfador.

En circunstancias normales, le daríamos otra vez a F5 para regresara
Windows para que fuera recogido el segundo campo (un break por cada
campo : nombre, code,..), pero si lo hacemos recibiremos el mensaje de
error. Todo habrá terminado. Ignoro el motivo, pero aquí sólo hay un
sólo break. ¿Acaso sólo pretende leer los datos de un único campo? Da
lo mismo. Continuemos....

El break que nos ha dejado en Softice pero aún no estamos en el código
del programaque nos interesa. Estamos en USER32!. Un toquecito suave
al F12 nos devolverá al sitio desde donde fue llamado. Bien. Ahora ya
estamos en zona interesante:

+++++++++++++++++
* Reference To: USER32.GetDlgItemTextA, Ord:00EDh
                                  |
:0040246C FF1584B24000            Call dword ptr [0040B284] >>Aparecemos aquí
:00402472 6A00                    push 00000000:00402474 6A00                    push 00000000
:00402476 6805040000              push 00000405
:0040247B BFE0934000              mov edi, 004093E0
:00402480 56                      push esi

* Reference To: USER32.GetDlgItemInt, Ord:00ECh
                                  |
:00402481 FF1580B24000            Call dword ptr [0040B280]
:00402487 A3CC924000              mov dword ptr [004092CC],eax
:0040248C 8BD0                    mov edx, eax
:0040248E B9FFFFFFFF              mov ecx, FFFFFFFF
:00402493 2BC0                    sub eax, eax
:00402495 F2                      repnz
:00402496 AE                      scasb
:00402497 F7D1                    not ecx
:00402499 49                      dec ecx
:0040249A 0FBE05E0934000          movsx eax, byte ptr [004093E0]
:004024A1...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Crackeo
  • Crackeo
  • Curso
  • Curso
  • En Curso
  • Curso
  • Curso
  • cursos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS