--
| ESTUDIO COLECTIVO DE DESPROTECCIONES | ||
|  | WKT Tutorialz Site |  | 
|  |  |  | 
| 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 4EB06818En 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|
*------------------*
 |