Tamaño: 2.97 MB
Version: 3.0
Página de descarga: www.deepvision.se/download.htm
Dificultad: 2 (1-10)
-Abrimos el programa sin debuggear:
Notamos que lo primero que nos muestra un mensaje de alerta diciendo que el archivo de licencia no ha sido encontrado
Luego nos aparece el programa en si, por lo que deducimos que la comprobación se genera antes de cargar la aplicación
-Cargamos el programa desde ollydbg:
luego buscamos referencias de texto:
Nos aparecerá lo siguiente:
Si subimos hasta el inicio:
Notaremos string importantes como el que aparece al iniciar el programa "Lincense file...
hacemos doble click en la string (401C5A)
En el disambler nos aparecerá lo siguiente:
Si seguimos más arriba notaremos el salto que envía la alerta
Pongamos un BP en el salto
Presionamos F9 (Run) y se detendrá en el BP:
Por lo que para evitar que no salte, cambiamos el OP code JNZ por JMP
Si seguimos traceando (F7), notaremos otro salto:
Si seguimos el salto (click derecho-Follow o Enter),Notaremos que empieza a pushear la string DVPubNoC 2.x en donde NoC significa:
Not Comercial
Por lo que ese salto no nos sirve, nopiemoslo (llenar con NOP)
Luego de Nopear si seguimos traceando llegaremos a otro salto:
Si seguimos el salto (Click derecho-Follow o Enter)
Notaremos que se llama a la string "License: Pro"
Por lo que nos hace saber que este salto nos lleva a la validación de la licencia:
Remplacemos el salto JG SHORT por JMP SHORT:
Si seguimos traceando llegaremos hasta 00401D09:
Notaremos que más abajo se pushea la string Expires, lo que quiere decir que la Licencia pro, Tiene fecha de caducación por lo que se deberá tener cuidado al momento en que sea llamada, ya que lo más probable es que esté la fecha por defecto (fecha más mínima posible), si miramos el valor de EDX notaremos string en formato de fecha:
Por lo que haremos un injerto encargado de modificar la fecha, vallamos al último OP Code del desemblador, y busquemos un espacio en mi caso probaré el address 56AF25:
Una vez elegida la ubicación en donde se realizará el injerto, comprobaremos si esta ubicación existe en el ejecutable o es creada en tiempo de ejecución
(API VirtualAlloc)
Para verificarlo nos vamos a:
Notaremos que existe, por lo que se podrá injertar sin problema alguno:
Estando en la ubicación:
00401D09 realizaremos un salto a nuestro espacio para injertar (56AF25)
*Una vez creado el salto al injerto notaremos que se pierden OP codes por lo que tendremos que colocarlos en nuestro injerto para evitar que el programa genere errores
Llegamos a nuestro injerto:
Notaremos que en la pila también está el valor que tiene EDX
El injerto completo quedará así:
Explicación del injerto:
Citar
PUSHAD
Guardará los valores del registro para evitar errores en el programa
MOV EBX,EDX
Mueve EDX (Puntero a la fecha) a EBX
MOV EDX,DWORD PTR DS:[EDX]
Mueve la fecha a EDX
INC DL
Incrementa en 1 el último valor de EDX (31) (El registro guarda los valores al revés)
MOV DWORD PTR DS:[EBX],EDX
mueve la fecha modificada dentro de EBX
POPAD
Restaura los valores anteriores de registro
MOV ESI,EAX
Valores que borró el jmp al injerto
LEA EDX,DWORD PTR SS,[ESP+5C]
Valores que borró el jmp al injerto
JMP 00401D0F
Retoma al programa Normalmente
Guardará los valores del registro para evitar errores en el programa
MOV EBX,EDX
Mueve EDX (Puntero a la fecha) a EBX
MOV EDX,DWORD PTR DS:[EDX]
Mueve la fecha a EDX
INC DL
Incrementa en 1 el último valor de EDX (31) (El registro guarda los valores al revés)
MOV DWORD PTR DS:[EBX],EDX
mueve la fecha modificada dentro de EBX
POPAD
Restaura los valores anteriores de registro
MOV ESI,EAX
Valores que borró el jmp al injerto
LEA EDX,DWORD PTR SS,[ESP+5C]
Valores que borró el jmp al injerto
JMP 00401D0F
Retoma al programa Normalmente
Una vez realizada todas estas modificaciones guardamos los cambios, si iniciamos DeepView Modificado nos aparecerá lo siguiente:
Notaremos que poseemos la Licencia PRO y nuestra fecha de espiración es la mismo que modificamos nostros
ADJUNTO:
DeepView Publisher 3.0 Crackeado:
http://www.mediafire.com/?934wy3b4pea6lq6