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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Tutorial Renascense 1 by skapunky
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Tutorial Renascense 1 by skapunky  (Leído 6,063 veces)
skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Tutorial Renascense 1 by skapunky
« en: 20 Septiembre 2007, 00:06 am »

Más información: http://foro.elhacker.net/index.php/topic,180720.0.html

*********************************************************************************
* Name Crackme: CrackMe Renascense 1.exe                                        *
* Coded Crackme : Skapunky                                                      *
* Solution writted: skapunky                                                    *
* date: 20-9-2007                             *
* Download CrackMe: http://www.crackmes.de/users/skapunky/renascense_crackme/   *
*********************************************************************************

Abrir el OllyDebugger y cargar Crackme Renascense.exe. Una vez cargado, apretar el boton
derecho del mouse y escojer: "Search for > "All commands". Bien la idea es buscar
todas las veces que se ejecutara un boton, para ello escribimos: "PUSH EBP" y veremos lo siguiente:

Found commands
Address    Disassembly                               Comment
004012E0   INC EAX                                   (Initial CPU selection)
00405790   PUSH EBP
0040591C   PUSH EBP
00405AA8   PUSH EBP
0040803C   PUSH EBP
00409710   PUSH EBP

Ahora, otra vez click derecho y escojeis:"Set breakpoint on every command". Con esto lo que haceis
es poner un punto de parada, lo que tendreis de localizar cual es el que chequea el ID/PASS. Para ello
apretais al botton de play para poner en marcha el Crackme y os inventais un ID/PASS ficticios. Por
ejemplo en mi caso he hecho:

-------------
ID: skapunky
PASS: 123456
-------------

Y le dais al boton de chequear. En esta ocasión, como lo estais corriendo desde el debuger, y se
han colocado puntos de parada, vereis que os parara en esta linea:

00409710   > 55             PUSH EBP

Ahora se trata de ir apretando <F8>  hasta que llegueis a esta zona:


0040A7D7   . 52             PUSH EDX
0040A7D8   . FF15 68104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCm>;  MSVBVM60.__vbaStrCmp
0040A7DE   . 85C0           TEST EAX,EAX
0040A7E0   . 0F85 DD000000  JNZ CrackMe_.0040A8C3

Fijaos en la direccion de memoria 0040A7D8, alli aparece la API VbaStrCmp, esta lo que hace
es comparar dos cadenas, es decir, el password real que sale del ID y el ficticio, lo que si
con F8 os posicionais encima de esta linea y mirais la pantallita
de Registers (FPU), a la derecha del olly...vereis la siguiente información.




EAX 00000010
ECX 0014F784 UNICODE "ska886345605"             <---- Contraseña real ¿?
EDX 0014F1F4 UNICODE "123456"                   <---- Contraseña Ficticia !!
EBX 00000001
ESP 0012F2F0
EBP 0012F528
ESI 0012F604
EDI 0012F534
EIP 0040A7D8 CrackMe_.0040A7D8
C 0  ES 0023 32bit 0(FFFFFFFF)
P 0  CS 001B 32bit 0(FFFFFFFF)
A 0  SS 0023 32bit 0(FFFFFFFF)
Z 0  DS 0023 32bit 0(FFFFFFFF)
S 0  FS 0038 32bit 7FFDE000(FFF)
T 0  GS 0000 NULL
D 0
O 0  LastErr ERROR_SUCCESS (00000000)
EFL 00000202 (NO,NB,NE,A,NS,PO,GE,G)
ST0 empty 1.2808172612747893380e+3166
ST1 empty -UNORM E678 00000000 BF991CA8
ST2 empty 1.7455443511013539740e+3079
ST3 empty 4.8431202390910618310e-4932
ST4 empty 1.3192464472175859790e+3102
ST5 empty 1.0000000000000000000
ST6 empty 13.000000000000000000
ST7 empty 45.000000000000000000
               3 2 1 0      E S P U O Z D I
FST 4000  Cond 1 0 0 0  Err 0 0 0 0 0 0 0 0  (EQ)
FCW 137F  Prec NEAR,64  Mask    1 1 1 1 1 1

Ahora, acabais de debuggear el programa con <F8> o simplemente lo parais y lo volveis a ejecutar, si lo acabais
con <F8>, evidentemente os saldra un mensaje de contraseña incorrecta.

Bueno..a lo que ibamos, "play" de nuevo y esta vez escribimos:

-------------------
ID: skapunky
PASS: ska886345605
-------------------

Ya sea debugeando el programa hasta que acabe apretando <f8> o ejecutandolo y escribiendolo directamente, nos
saldra una pantallita de felicitación donde nuestros datos han tenido exito.

Bueno, este es un claro ejemplo de crackme típico en visual basic y es un metodo que se repite para
solucionar diversos crackme, siempre en VB ya que tiene la API vbaStrCmp.


Tutorial escrito por Skapunky. Espero que os sirva de ayuda. Lo he escrito lo mejor posible, ya que solo hace 5 dias que me dedico a este campo.

Saludos.
« Última modificación: 20 Septiembre 2007, 22:34 pm por karmany » En línea

Killtrojan Syslog v1.44: ENTRAR
ÂìmBòt

Desconectado Desconectado

Mensajes: 154


Wanna Be -Hacker-


Ver Perfil
Re: Tutorial Renascense 1 by skapunky
« Respuesta #1 en: 20 Septiembre 2007, 05:01 am »

:| muy bueno gracias skapunky
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Tutorial acerca del crackme de SkaPunky
Ingeniería Inversa
jJPHyES 3 3,126 Último mensaje 11 Mayo 2018, 15:57 pm
por jJPHyES
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines