--
ESTUDIO COLECTIVO DE DESPROTECCIONES | ||
![]() |
WKT Tutorialz Site | ![]() |
![]() |
![]() |
![]() |
progrAmA | WinRAR 2.04 | W95 |
DEsCripCión | Programa para Compresión de ficheros. | |
tipo | Shareware (35 $) | |
protECCión | Algunas Limitaciones si no estás registrado. | |
DiFiCultAD | 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista | |
hErrAmiEntAs | SoftIce 3.22, Editor Hexadecimal | |
CrACkEr | Mr.Brown | |
FEChA | Julio de 1998 |
Introducción |
Es necesario registrarse para tener acceso a algunas opciones, como "Authenticity Verification".
Lo ideal sería analizar más a fondo la rutina que calcula la clave en función del nombre, y hacer un generador de claves. |
Al Atake |
Arrancar el Pc con el SoftIce 3.22, con el fichero WinIce.Dat debidamente configurado. (Ver "Introducción al SoftIce" en la sección de Documentoz Genéricoz para más información)
Ejecutar el programa WinRAR, y seleccionar la opción para registrarse.
Pulsar Ctrl+D para ir al SoftIce.
Una de las maneras en que el programa puede leer la información que hemos tecleado, es con
GetWindowTextA o con GetDlgItemTextA (lo de la A al final es para los programas 32 bits) BPX getwindowtexta BPX getdlgitemtextaPulsamos Ctrl+D para volver al WinRAR, y le damos al botón OK.
Apareceremos en el SoftIce, y desactivamos los BreakPoints con BD *
Avanzamos con varios F10, hasta la siguiente llamada a GetDlgItemTextA. Unos pocos F10 más, y veremos : :004139E9 8D9554FFFFFF lea edx, dword ptr [ebp+FFFFFF54] :004139EF 52 push edx ; la clave (222333) :004139F0 8D4D9C lea ecx, dword ptr [ebp-64] :004139F3 51 push ecx ; el nombre (ECD IntroCracking) :004139F4 E80369FFFF call 0040A2FC ; Validar_Registro :004139F9 83C408 add esp, 00000008 :004139FC 85C0 test eax, eax :004139FE 752F jne 00413A2F ; Salta si OK (AX=1)Así pues, la rutina que valida el nombre y la clave introducidas está en :40A2FC Acaba en :40A596, y devuelve AX=1 si OK, y AX=0 si no ok. Pero además, en la posición de memoria [00425758] también guarda ese valor.
Así que vamos a rediseñar esa rutina, para hacerla funcionar más rápido. ;-) :0040A2FC 33C0 xor eax,eax :0040A2FC 40 inc eax :0040A2FC A358574200 mov dword ptr [00425758],eax :0040A2FC C3 retSi aplicamos estos cambios antes de continuar la ejecución, nos dirá que "Correct Registration". Pero si cerramos el WinRar, y lo volvemos a abrir, nos dirá que "Evaluation Copy". Así que hay que hacer los cambios efectivos en el fichero WinRar95.exe
Con un editor hexadecimal, vamos a la posición 98FC, y ponemos encima de lo que haya :
Si todavía no hemos hecho la opción de Registrarse con el parche, nos saldrá lo de "Evaluation Copy".
También podeis probar si habeis aplicado bién el parche, seleccionando un fichero para comprimir con el WinRAR, y activar
la casilla de "Authenticity Verification".
Nota : Si la rutina que valida el registro (que va de :40A2FC hasta :40A596) hiciera algo más de lo que yo he supuesto, y por tanto no se pudiera parchear tan alegremente com he hecho, la solución entonces sería poner ECX=1 en :40A56F Como no acostumbro a usar el WinRar, no lo he podido comprobar al 100%. Ya me diréis.... |