--

ESTUDIO COLECTIVO DE DESPROTECCIONES
WKT Tutorialz Site
WKT
Programa Ulead PhotoImpact v4.12 W95 / W98 / NT
Descripción Programilla para retocar imagenes y demás.
Tipo Trial de 30 dias
Url http://www.ulead.com
Protección Nag Screen. Time Limit 30 Dias
Dificultad 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista
Herramientas SoftIce v3.25, W32dasm v8.9, UltraEdit v6.10a
Objetivo Conseguir que no caduque el programa y NagScreen.
Cracker Mr.WhiTe [WkT!]
Fecha 30 de Julio de 1999

Introducci≤n
Como cargarnos una Nag Screen sin complicarnos la vida.
(La protección esta en U32cfg.dll)

Al Atake
Al abrir el programa podemos observar que se trata de una version Trial de 30 dias, plenamente operativa, con una pesada nag screen del tipo "dialogboxparama".

Lo primero que vamos a hacer sera eliminar esa nag screen. Para ello ponemos el primer BPX dialogboxparama, pulsamos F11 en el SoftIce y despues el boton "Try More!".
Con lo cual aterrizaremos de lleno en:

* Reference To: USER32.DialogBoxParamA, Ord:008Eh
                                  |
:4EB066CD FF15F4A3B14E            Call dword ptr [4EB1A3F4]
:4EB066D3 898590FDFFFF            mov dword ptr [ebp+FFFFFD90], eax

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:4EB066A2(C), :4EB066AB(C)
|

* Possible Reference to Dialog: DialogID_0001 
                                  |
:4EB066D9 B801000000              mov eax, 00000001
:4EB066DE E935010000              jmp 4EB06818


Eliminaremos la Nag Screen sin complicarnos la vida. Sustituimos
:4EB066CD FF15F4A3B14E            Call dword ptr [4EB1A3F4]

Por :4EB066CD 909090909090            

Ahora solo nos queda quitar el limite de 30 dias. :o)
Adelantamos la fecha de nuestro pc un mes para provocar que el PhotoImpact nos caduque y poder ver el mensaje de error.
Vaya , pero si es otra "dialogboxparama" !!!

Ponemos el segundo BPX dialogboxparama en el SoftIce y vemos donde aterriza. ;o)
* Reference To: USER32.GetActiveWindow, Ord:00D5h
                                  |
:4EB0671F FF15C0A3B14E            Call dword ptr [4EB1A3C0]
:4EB06725 50                      push eax

* Possible Reference to Dialog: DialogID_0066 
                                  |
:4EB06726 6A66                    push 00000066
:4EB06728 8B0D0C47B24E            mov ecx, dword ptr [4EB2470C]
:4EB0672E 51                      push ecx

* Reference To: USER32.DialogBoxParamA, Ord:008Eh
                                  |
:4EB0672F FF15F4A3B14E            Call dword ptr [4EB1A3F4]
:4EB06735 89858CFDFFFF            mov dword ptr [ebp+FFFFFD8C], eax
:4EB0673B 83BD8CFDFFFF2A          cmp dword ptr [ebp+FFFFFD8C], 0000002A
:4EB06742 751D                    jne 4EB06761



Si comparas este trozo de código con el anterior (cuando el programa aún no habia caducado) verás la siguiente diferencia:
:4EB066D9 B801000000          mov eax, 00000001 <-- Buen rollito
:4EB066DE E935010000          jmp 4EB06818        
En el primer código se mete en eax el valor 1 y se salta a :4EB06818
En el segundo código se compara [ebp+FFFFFD8C] con 2A y si no son iguales se saltara a :4EB06761
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:4EB06716(C), :4EB06742(C)
|
:4EB06761 33C0                xor eax, eax <-- Mal rollito
:4EB06763 E9B0000000          jmp 4EB06818   


Esta claro, ¿no? tenemos que meter el valor 1 en eax y hacer que salte a :4EB06818
Abrimos el fichero u32cfg.dll con el ultraedit o cualquier otro editor hexa y modificamos lo siguiente:
En: 

:4EB0672F FF15F4A3B14E            Call dword ptr [4EB1A3F4]
:4EB06735 89858CFDFFFF            mov dword ptr [ebp+FFFFFD8C], eax

Buscamos "FF15F4A3B14E89858CFD"    y lo sustituimos por:
         "B801000000E9B0000000"

con lo que nos queda:

:4EB0672F B801000000          mov eax, 00000001     
:4EB06735 E9B0000000          jmp 4EB06818


Voilá! ya está listo para ser evaluado correctamente.
Creo que no hace falta que te recuerde el propósito de estos tutoriales. ¿no?

NOTA: Estos tutoriales pueden contener errores intencionados (puede ser que el autor se haya saltado la explicación de algún paso, errores en las direcciones de memoria......etc).
El objetivo es que aprendas a crackear y que tengas ideas propias. ;o)
  
*▒▒========-*-*-*-* P E R S O N A L   G R E E T Z *-*-*-*-========▒▒*
    Dasavant, Niabi, r00ster, ZEncrakz, Azrael, Klimpong, Zor       
    Conde-Vampiro, Mac-Crack, Killer_P, ASTAGA, Harvestr, Iczelion    
    JosephCo, Carpathia, Taylor, Tapu, Ivanopulo, EgoistE, Torn@do,     
    JUANDA, Leoworld, ReKiem, Neural_N, Netking, Russ97,
	    Mr.Pink and of course all WKT Members ;o)



*------------------*
|WHISKEY KON TEKILA|
|Mr.WhiTe [WkT!99] |
|http://wkt.tsx.org|
|http://ecd.tsx.org|
*------------------*

[ 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 ]