Ejercicios del Taller de Cracking

Iniciado por ANTRAX, Febrero 20, 2010, 02:36:19 AM

Tema anterior - Siguiente tema

0 Miembros y 6 Visitantes están viendo este tema.

Ejercicios

¿Que es esto?

Son ejercicios que estan realizados para que puedan practicar todos aquellos usuarios que leen el taller de cracking que cada cierto tiempo se ira avanzado mas y mas ...
Estos ejercicios son realmente sencillos , que tengo la seguridad de aquel que sigue el taller no tendra problemas en resolverlos

Reglas :

1. No puedes postear aqui la solucion, porque dañarias completamente el trabajo del otro.
2. Las soluciones me las envian por MP
3. Si veo que no pueden resolver los ejercicios con facilidad , me pueden ir realizando pequeñas preguntas como pistas para que puedan solucionarlos
4. Tendra un plazo limite de una semana despues de haber sido posteados los ejercicios para mandarme las respuestas , despues de ese tiempo se postearan todas las soluciones de los usuarios que mandaron las respuestas.


Primeros Pasos con el OllyDbg

1.- Debugeando nuestro primer programa

1.1.- ¿Cuanto Vale EAX?
Código: php
include 'C:\FASM\INCLUDE\WIN32AX.inc'

.code
start:
XOR EDX,EDX
XOR EDI,EDI
MOV EDI,78h
MOV EDX,155h
XOR EDI,EDX
MOV EAX,EDI
.end start


1.2.- ¿Cuanto vale BL ?
Código: php
include 'C:\FASM\INCLUDE\WIN32AX.inc'

.code
start:
XOR EDX,EDX
XOR EBX,EBX
MOV EBX,37h
MOV EDX,165h
AND EBX,EDX
MOV EAX,EBX
ADD EAX,2028h
MOV EBX,EAX
.end start


2.- Modificando el programa interactivamente para poder continuar debugeando

2.1.- ¿Como hago aparecer el sgte mensaje?



Código: php
include 'C:\FASM\INCLUDE\WIN32AX.inc'

.data
   cuerpo db 'IsDebuggerPresent =/', 0
   cuerpo1 db '    Owned',10,13,10,13
   db 'Eres bueno XD',0
   titulo db 'Sin Parchar', 0
   titulo1 db 'Parchado', 0

.code
start:

mov eax,25DH
mov ebx,255H
sub eax,ebx
cmp eax,8
je salir
       
   push 0        ; Mete a la pila 0 (NULL)
   push titulo1        ; Mete a la pila el contenido de la variable "titulo"
   push cuerpo1        ; Mete a la pila el contenido de la variable "cuerpo"
   push 0        ; Mete a la pila 0 (NULL)
   call [MessageBoxA]  ; Esta api extrae cuatro elementos de la pila , segun a esto imprime en una ventanita un msg
       ; con un titulo y con un cierto tipo de botones .
   
   push 0
   call [ExitProcess] ; Esta api , finaliza el programa

salir:        ; sub rutina

   push 0
   push titulo
   push cuerpo
   push 0
   call [MessageBoxA]

   push 0
   call [ExitProcess]

.end start