|
Herramientas necesarias:
·
Ollydgb (http://www.ollydbg.de/)
para parchear el programa y correrlo.
·
DeASPack for AsPack 2.11 (desde
aquí)
para desempacar el programa de logueo.
·
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 FrzState.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 FrzState.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.
Esta versión de Deep Freeze está protegida con Aspack 2.11, así que antes de poder trabajar con el programa de logueo debemos desempacar el archivo, y para eso usaremos DeASPack. Ejecuta DeASPack y aparecerá un cuadro diálogo que pide que seleccionemos un archivo para desempacar. Busca el archivo de programa de logueo (recuerda que en Process Explorer decía dónde estaba). Ahora clickea 'Abrir'. El programa desempacará el archivo y el cuadro de diálogo se cerrará.

5.
Ahora corre Ollydbg. En el menú 'File' selecciona 'Open' y busca el archivo desempacado. El archivo se llama out.exe y se encuentra en la misma carpeta donde está el programa de logueo. Ahora clickea 'Abrir'.

6.
Cuando Ollydbg termine de analizar el programa 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).

7.
En el cuadro de texto escribe 417410 y presiona OK.

El programa saltará a esa línea de código.
8.
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).

9.
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.

10.
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.

11.
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.

12.
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.
|