--

ESTUDIO COLECTIVO DE DESPROTECCIONES
WKT Tutorialz Site
WKT
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.
Pero el mΘtodo mßs rßpido es interceptar la rutina y provocar el valor que queremos que devuelva. ;-)

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.
Introducir cualquier nombre en Registration (AV) Text (Ej:ECD IntroCracking)
Introducir cualquier clave en Registration Code (Ej:222333)

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)
Asφ que vamos a poner un par de BreakPoints para estas instrucciones :

  BPX getwindowtexta 
  BPX getdlgitemtexta
Pulsamos Ctrl+D para volver al WinRAR, y le damos al bot≤n OK.

Apareceremos en el SoftIce, y desactivamos los BreakPoints con BD *
Vamos haciendo F12 hasta llegar al c≤digo del WinRar. (Saltßndonos el c≤digo del Kernel,User...)
Llegaremos a :4139A6, despuΘs de la llamada a User32!GetDlgItemTextA
El valor guardado (el nombre) estß en [EBP-64], que podemos ver haciendo D ebp-64

Avanzamos con varios F10, hasta la siguiente llamada a GetDlgItemTextA.
El valor (la clave) queda en [EBP-AC] (que es lo mismo que [EBP+FFFFFF54])

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. ;-)
Lo que la rutina debe hacer es devolver un valor en AX y en [425758], todo lo demßs sobra. ;-)
Y si ese valor es 1, mejor que mejor. ;-DD Por ejemplo :

:0040A2FC 33C0        xor eax,eax
:0040A2FC 40          inc eax
:0040A2FC A358574200  mov dword ptr [00425758],eax
:0040A2FC C3          ret
Si 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 :
33C040A358574200C3
DespuΘs de salvar, ya tenemos el WinRAR "optimizado" ;-)

Si todavφa no hemos hecho la opci≤n de Registrarse con el parche, nos saldrß lo de "Evaluation Copy".
Tan s≤lo hacer el Registro con el nombre y clave que queramos, y yatß ;-)

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".
Si os deja es que estß todo Ok.


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



[ Entrada | Documentoz GenΘricoz | WKT TEAM Main Site ]
[ Todo el ECD | x Tipo de Protecci≤n | x Fecha de Publicaci≤n | x orden AlfabΘtico ]