| ESTUDIO COLECTIVO DE DESPROTECCIONES Última Actualizacion: 25/10/2001 |
Programa | Ulead PhotoImpact v4.12 | W95 / W98 / NT
Descripción | Programilla para retocar imagenes y demás
Tipo | Trial de 30 dias
Tipo de Tutorial | [X]Original, []Adaptación, []Aplicación, []Traducción
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!]
Grupo | Whiskey Kon Tekila
Fecha | 30 de Julio de 1999
INTRODUCCION
Como cargarnos una Nag Screen sin complicarnos la vida. (La protección esta en U32cfg.dll)
AL ATAQUE
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. 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)
[ Entrada | Documentos Genéricos | WkT! Web Site ]
[ Todo el ECD | x Tipo de Protección | x Fecha de Publicación | x Orden Alfabético ]
(c) Whiskey Kon Tekila [WkT!] - The Original Spanish Reversers. Si necesitas contactar con nosotros , lee esto antes e infórmate de cómo puedes ayudarnos