Artículo · Ingeniería Inversa

Parcheando el software Clone DVD2

Rafael PeruCrackersRafael PeruCrackers 5 min de lectura

Historia

 

CloneDVD copia películas y realiza backups de DVD para crear calidad sin paralelo en el mercado, ya sea el título principal que usted desea copiar o el DVD completo.

CloneDVD mobile convierte sus películas en DVD rápidamente y con facilidad en formatos que su dispositivo portátil (Apple iPod/iPhone/iPad, Android, etc) pueda reproducir. Usted también puede convertir DVDs a otros formatos, como son DivX, XviD, AVI, MP4, etc. Vea sus películas en cualquier sitio.

Vamos analizar el software Clone DVD, qué limitaciones nos ofrecen al tener instalado el software, así que ejecutamos y vemos que nos muestra que nuestro  aplicación no está registrado y que tenemos 21 días en modo de prueba, esto indica que tenemos el programa full por 21 días, luego ya no podremos usarlo.

 

 

Al tener idea de la limitación de software, vamos adelantar la fecha del Sistema y nuevamente a ejecutar la aplicación y vemos, que no se ejecutó.

 

 

Al tener estos datos vayamos a ejecutar nuestra herramienta RDG Packer, para  saber en qué lenguaje se desarrolló la aplicación y si presenta protección, como verás se desarrolló en Visual C++ y no presenta protección, así que estamos en buen camino,  al recolecta información.

 

 

 

Vamos a depurar Clone DVD2 con X32dbg.

 

 

Presionamos F9 o Play , donde nos mostrará el BAD BOY (NAG), indicando que nuestra 21 días de prueba se terminó y que debemos comprar la LICENCIA!!!, así que hacemos clic en Pause, y ver qué funciones se encuentran “Espera”, en la pestaña “Pila de llamadas”.

 

 

Como observaras las funciones o Calls, que se encuentran en “Espera o Cola”, se encuentran en la opción Pila de llamadas, recuerda que para poder realizar este método debió pausar  la aplicación.

 

 

En este caso yo analice cada uno de las direcciones, ensayo y error, y llegue a la dirección 0012FE28, en donde  evitaremos que caduque la aplicación, hacemos doble clic en la dirección.

 

 

Al realizar doble clic en la dirección 0040EAD0, vemos el primer salto:

0040EA49 jne clonedvd2.40ED43

Tener en cuenta la palabra clave en este caso “Your evaluation period of %1 has expired!” 

 

Retrocedemos  y luego “F9” o  donde se detendrá en el BreakPoint con dirección 0040EA49, para evitar el BAD BOY, debe saltar siempre evitando las líneas de caducidad, el comando que debe reemplazar es jmp.

 

 

Se procede a cambiar jne por jmp, para poder realizar el cambio se debe realizar con la barra espaciadora, Guardamos los cambios realizado y quedando con jmp.

 

 

Vayamos a Pachar y guardar nuestro primer cambio, clic derecho en la ventana ensamblador y luego clic en Parches.

 

 

Haga clic en “Aplicar el parche”, para guardar los cambios con el nombre de cloneDVD2patch1.exe

 

 

Ejecute la aplicación y nos muestra que no lo tenemos registrado y que tenemos 0 días, para evaluar CloneDVD2, damos clic en continuar, y se ejecutó sin problemas la aplicación.

 

 

Recordar que antes de que caducara la aplicación nos mostraba la cantidad de días que tenemos de uso, ahora el nuevo reto es eliminar este fastidioso NAG.

 

Eliminar el NAG de la aplicación será nuestro segundo reto, así que vamos primero a buscar los string de todos los módulos.

 

 

Observara en la pestaña “Todos los módulos(Cadenas)”, miles de cadenas, de lo cual vamos a filtrar y buscar la cadena “registered”, como se mencionó anteriormente con ensayo y error se llego a que la dirección 0040EDD4., es la línea de comando que necesitamos analizar.

 

 

Notara que la dirección 0040ED49 tiene un salto je, la idea es que no nos muestre el NAG, así que debemos saltar siempre, recordar que para ello se utiliza JMP.

 

 

Al finalizar queda con la dirección 0040ED49, de lo cual, vamos a parchar nuevamente.

 

 

En este caso lo guarde con el nombre CloneDVD2patch2.exe, al ejecutar nuevamente el software se inicia correctamente sin mostrarnos el NAG y el tiempo de caducidad.

 

 

Clone DVD Mobile

 

En este caso se aplicará el mismo método de parche para evitar la caducidad, así que no explicare con mucho detalle los pasos. 

 

 

En este caso veremos que primero nos ofrece una prueba de 21 días, en el segundo adelante la fecha y veras que caduco.

 

 

 

Debe depurar la aplicación y ejecutar, mostrándonos el Bad boy, luego presionar Pause

 

 

En la dirección 0012FE28, es la que debe analizar para poder evitar la caducidad.

 

 

En la dirección 0040EEB2, encontraremos el salto:

jne clonedvdmobile.40EF8D 

 
 

 

Debe retroceder  para luego ejecutar con “F9, deteniéndose en la dirección que agregamos el BreakPoint, debemos modificar el salto jne por jmp.

 

 

Guarda los cambios generados con el nombre de CloneDVDmobilepatch.exe

 

 

Ahora parchar el NAG, es la parte complicada debido a que debemos realizar ensayo y prueba, encontramos la dirección 0040EF93 con el salto jne.

 

 

En la dirección 0040EF93, debe hacer clic derecho -> Binary -> Fill with NOPs, para evitar el salto y luego guardamos los cambios.

 

 

Ejecutar la aplicación y verás que ya no nos muestra el NAG y no caducará.

 

 

Conclusión

 

    * Las medidas de seguridad que realiza los desarrolladores son la misma en ambos productos. 

    * Eliminar la NAG en ambas aplicaciones se resuelve de dos maneras diferentes.

    * Tiene una validación online con el serial de pruebas, de lo cual lo puedes generar. 

 

¿Quieres aprender estas técnicas en profundidad?

Continúa tu ruta con Pentesting .

Rafael PeruCrackers

Escrito por

Rafael PeruCrackers

Estudiante de la ingenieria Inversa usando las herramientas de Ollydbg y el actual IDA PRO, actualmente me encuentro investigando sobre Creacion de Exploit, con animo de ayudar a las personas que les interesa el mundo del reversing, :)