|
Herramientas necesarias:
·
Ollydgb (http://www.ollydbg.de/)
para parchear el programa y correrlo.
·
OllyScript
(desde
aquí)
para correr scripts en Ollydgb.
·
ASPack
2.12 OEP finder script by hacnho/VCT2k4 (desde
aquí)
para encontrar el OEP.
·
Process Explorer for 9X (http://www.sysinternals.com/)
para matar al programa de logueo.
Resumen:
Lo que vamos a hacer es cargar una nueva instancia del programa de logueo
de Deep Freeze y lo modificaremos para que acepte cualquier contraseña como
válida.
Manos a la obra:
- Lo
primero que necesitamos es averiguar dónde está el programa de logueo
de Deep Freeze. Para eso cargamos Process Explorer. En este programa
podemos ver la lista de todos los procesos que está corriendo la PC,
entre ellos se encuentra el programa de logueo que se llama
FrzState9X.exe. Busca este programa en la lista, expandiendo el árbol
si es necesario. Una vez que lo encuentres haz click derecho sobre el
nombre del programa y aparecerá un menú con opciones. Selecciona la
opción 'Properties'. Aparecerá una ventana mostrando las propiedades
del proceso.

2.
En la ventana de propiedades verás una propiedad llamada
'Path'. En este cuadro puedes ver a dónde se encuentra el programa,
recuérdalo. Cierra la ventana de propiedades.

3.
Ahora vamos a cerrar el programa de logueo. Si intentas
cerrarlo ahora verás que el proceso vuelve a aparecer en la lista. Para
matarlo definitivamente primero debemos terminar con el proceso que aparece
con el nombre de MSGSRV32.EXE. Busca este proceso en la lista, luego haz
click derecho sobre el nombre y selecciona 'Kill Process'. Si aparece un
mensaje de confirmación responde que Sí. Luego haz click derecho sobre el
proceso FrzState9X.exe y vuelve a seleccionar 'Kill Process'. Ahora el
programa de logueo debería haber terminado.
Nota:
Si el ícono de Deep Freeze todavía se encuentra en la bandeja de sistema
junto al reloj pasa el cursor del mouse por encima para que desaparezca.
|


4.
Ahora corre Ollydbg.
Nota:
Asegúrate que OllyScript esté instalado correctamente. Debería haber un
menú llamado 'Plugins' donde encontrarás un submenú llamado 'OllyScript'. Si
este menú no aparece en el programa significa que no haz instalado
correctamente el plugin. Para instalarlo ve al menú 'Options' y selecciona
'Appearance'. En el cuadro 'Plugin path' escribe el lugar en donde haz
copiado los archivos de OllyScript, presiona OK y reinicia el programa.
|
En el menú 'File' selecciona 'Open' y busca el archivo de programa de logueo
(recuerda que en Process Explorer decía dónde estaba). Ahora clickea
'Abrir'. Si aparece un mensaje de alerta presiona 'Aceptar', y si luego
aparece un mensaje preguntando si quieres seguir analizando el código
presiona 'No'.

5.
Ya cargamos el programa, el problema es que está protegido
con Aspack 2.12 y no podemos ver el verdadero código. Para resolver esto
vamos a usar OllyScript y el script ASPack 2.12 OEP finder. Ve al menú
'Plugins', luego al submenú 'OllyScript' y selecciona 'Run script'.

6.
Busca el script y ábrelo. El script encontrará el OEP
(original entry point). Si aparece alguna ventana ciérrala.
|
Nota:
Ahora estamos en el OEP. Si eres un usuario con experiencia puedes dumpear
el programa usando OllyDump para analizar el código con algún desamblador.
|

7.
Haz click con el botón derecho sobre el código y aparecerá
un menú contextual, selecciona 'Go to' y después 'Expression' (o usa el
atajo Ctrl+G).

8.
En el cuadro de texto escribe el siguiente valor de
acuerdo a la versión de Deep Freeze que tengas instalada y presiona
OK.
|
Versión
|
Valor
|
|
5.20.250.1125
5.30.150.1181 |
408D34
408E08
|

El programa saltará a esa línea de código.
9.
Esta es la línea donde se determina si la contraseña es
correcta. Vamos a poner un breakpoint acá. Para ello haz click derecho
sobre la línea y en el menú contextual elige 'Breakpoint' y luego 'Toggle'
(o presiona F2).

10.
Ya casi terminamos! Ahora vamos a correr esta nueva
instancia del programa de logueo del Deep Freeze. Para eso presiona F9. Si
Deep Freeze está configurado para mostrar el ícono, ahora lo verás en la bandeja de
sistema junto al reloj.

11.
Ahora activa el programa de logueo haciendo doble click
sobre el ícono mientras presionas la tecla shift o presionando
CTRL+ALT+SHIFT+F6. La ventana de logueo
aparecerá para pedirte la contraseña. Escribe cualquier cosa en el cuadro
de contraseña y presiona ENTER. El breakpoint que pusimos antes en Ollydgb
se activará y el programa de logueo quedará congelado.

12.
En la ventana de registros (a la derecha del código) verás
que el valor del flag Z es 1. Eso significa que la contraseña es
incorrecta, vamos a cambiar eso. Haz doble click sobre el valor de Z y
verás que cambia a 0.

13.
Ahora presiona F9 para continuar. Si todo funcionó
correctamente aparecerá la ventana de configuración de Deep Freeze.
Stat
rosa pristina nomine, nomina nuda tenemus.
|