Herramientas:
- ILDASM
- Simple Assembly Explorer
Victima: Eyecopia v 2.0.7 - v 1.4.6.0 (Video Monitoring Software)
Al abrir el soft victima vemos los forms de registro y notificación de trial:
Ambos tienen "Register" como texto, asi que utilizaremos esa palabra para buscar la funcion de registro.
Primero vemos que esta programado en .NET usando PEiD-0.95, luego comprobamos con ILDASM que no tiene protección alguna. Ejecutamos el Simple Assembly Explorer y abrimos el ejecutable:
No hay código que nos interese, asi que buscamos las referencias que tiene:
Vemos Enjoin.common y Eyecopia.core, para evitar estar buscando uno a uno el codigo en Simple Assembly Explorer, desensamblamos directamente cada .dll
y abrimos el archivo .il resultante con el block de notas u otro editor de texto, para no perder el tiempo podemos crear un .bat con el siguiente code:
Código
@echo off cd "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin" ildasm.exe /source "C:\Program Files (x86)\Eyecopia\Eyecopia.Core.dll" /output:"C:\Users\Kode\Desktop\crack\Eyecopia.Core.il"
Asi desensamblamos en este ejemplo a Eyecopia.Core.dll y direccionamos el archivo de salida al escritorio en una carpeta llamada "crack", como estoy Win7 64 bits, no use variables de entorno %PROGRAMFILES% puesto que necesito trabajar con las dos carpetas de archivos de programa, en otros win es mejor usar las variables de entorno para hacer portable el code del .bat.
Ya tenemos el archivo .il, abierto con el notepad asi que probamos buscar una palabra como "register" puesto que es el texto que contiene el boton de registro, analizando un poco vemos que existe un metodo get_Isregistered() que utiliza los
valores de retorno de get_LicensedDllExists() y de IsRegistered(), vemos que ambas se encuentran en la ruta Enjoin.Eyecopia.CameraManager:
Asi que volvemos al Simple Assembly Explorer y buscamos estas funciones, una vez que las encontramos vemos que se deben cumplir ambos valores de retorno para que pase como Registrado:
Asi que cambiamos directamente toda la función por una que siempre devuelva true, utilizamos el siguiente code:
Código
IL_0000: nop IL_0001: ldc.i4.1 IL_0002: stloc.0 IL_0003: br.s IL_0005 IL_0005: ldloc.0 IL_0006: ret
Vamos borrando y reemplazando cada linea hasta que nuestra funcion quede completa y funcional:
Luego pulsamos el boton Save para guardar los cambios, en mi caso con el Win que uso y el UAC activado, y puesto que no inicie Simple Assembly Explorer como administrador no me permite reemplazar la dll original, asi que lo guardo en otra ruta y luego la reemplazo manualmente.
Con eso basta para que las versiones de Eyecopia 2.0.7 y 1.4.6.0 queden activadas, no se puede usar la misma dll (Eyecopia.core) para ambas versiones, hay que modificar la dll de la version que vayamos a utilizar.
Ahora vemos que ya no nos sale el letrero de activación, ademas de que ya no nos muestra el boton de "registro!", asi que vamos al boton About y vemos que los datos estan como Unregistered:
Asi que corregimos ese detalle usando un archivo .reg, con el siguiente code:
En caso de WinXP
Código:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Enjoin\Eyecopia\1.0\Registration]
"Full Name"="43H4FH44H45H4CH49H56H45H"
"Email Address"="micuenta@elhacker.net"
"License Key"="Mi licencia propia :)"
para Win7 64 bits
Código:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Enjoin\Eyecopia\1.0\Registration]
"Full Name"="43H4FH44H45H4CH49H56H45H"
"Email Address"="micuenta@elhacker.net"
"License Key"="Mi licencia propia :)"
y con eso ya tenemos nuestros datos guardados en este software:
Usando este método tb se puede cambiar completamente el idioma editando los strings que hay en esta .dll y otros detalles como bordes, colores, fuente y más cosas...
Y asi termino mi pequeño tutorial
Saluos.