--
ESTUDIO COLECTIVO DE DESPROTECCIONES | ||
![]() |
WKT Tutorialz Site | ![]() |
![]() |
![]() |
![]() |
progrAmA | Backgammon Pro | W95 |
DEsCripCi≤n | Juego de sobremesa. | |
tipo | Shareware (10 $) | |
protECCi≤n | Lφmite de 9 partidas si no estßs registrado. | |
DiFiCultAD | 1) Principiante, 2) Amateur, 3) Aficionado, 4) Profesional, 5) Especialista | |
hErrAmiEntAs | Wdasm 8.9, Editor Hexadecimal | |
CrACkEr | Mr.Brown | |
FEChA | Julio de 1998 |
Introducci≤n |
El programa controla que no se puedan jugar mßs de 9 partidas sin haberse registrado. Per ello, utiliza 2 marcadores para guardar el n·mero de partidas jugadas :
|
Al Atake |
Si s≤lo se quiere poner el contador de partidas a 0, se puede hacer a mano, editando el registro con el RegEdit, y modificando el Wgi.Ini con un editor hexadecimal. (O sea, editar el C:\Windows\Wgi.Ini y en el offset 240 poner 00. DespuΘs ejecutar el RegEdit.Exe, buscar "games played" y poner el valor 0 ) Pero claro, no es ni c≤modo ni elegante, asφ que mejor meterse en el pgm... ;-)
Abrir el WDasm, Open File to Disassemble y cargar el ProBack.Exe.
Mirar en Refs/String Data References para ver que textos utiliza el pgm.
En este caso, el valor que nos puede interesar es "Registration Number".
Iniciamos la ejecuci≤n del pgm con PF9(Run), y se pararß en :0040FB5C ,(Line:26749 Pg 319) : * Possible StringData Ref from Data Obj ->"Registration Number" | :0040FB5C 6834764400 push 00447634 :0040FB61 50 push eax :0040FB62 C744243404000000 mov [esp+34], 00000004 :0040FB6A FFD7 call edi :0040FB6C 85C0 test eax, eax :0040FB6E 7404 je 0040FB74 :0040FB70 895C2424 mov dword ptr [esp+24], ebx * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0040FB6E(C) | :0040FB74 8B4C2410 mov ecx, dword ptr [esp+10] :0040FB78 51 push ecx :0040FB79 FFD5 call ebp * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0040FB4A(C) | :0040FB7B 8B542414 mov edx, dword ptr [esp+14] :0040FB7F 52 push edx :0040FB80 FFD5 call ebp * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0040FB2F(C) | :0040FB82 8B442424 mov eax, dword ptr [esp+24] :0040FB86 8B4C2418 mov ecx, dword ptr [esp+18] :0040FB8A 3BC1 cmp eax, ecx :0040FB8C 0F84AA000000 je 0040FC3CDespuΘs de unos pocos PF8, se llega a :0040FB8C je 0040FC3C ,(Line:26777 Pg 319) Caliente,caliente ;-))) Que pasaria si en lugar de "je" hubiera un "jne" ;-? ;-DDD Pues sφ, un simple BIT (de je(84h) a jne(85h)) hace que todas las protecciones queden anuladas (tanto la pantalla de propaganda inicial, como el lφmite de las 9 partidas ;-)
Os recomiendo imprimir las pßginas 319-321 y intentar seguirlas un poco juntamente con el Debug para ver por donde va pasando y que va haciendo. * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0040FC70(C) | :0040FCC7 A1F8B54400 mov eax, dword ptr [0044B5F8] :0040FCCC 8B542410 mov edx, dword ptr [esp+10] :0040FCD0 B90B000000 mov ecx, 0000000B :0040FCD5 3B5004 cmp edx, dword ptr [eax+04] :0040FCD8 7407 je 0040FCE1 :0040FCDA 894C2410 mov dword ptr [esp+10], ecx :0040FCDE 894804 mov dword ptr [eax+04], ecx * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0040FCD8(C) | :0040FCE1 394C2410 cmp dword ptr [esp+10], ecx :0040FCE5 730A jnb 0040FCF1 :0040FCE7 C705C8B5440001000000 mov dword ptr [0044B5C8], 00000001El valor del registro "games played" estß en EDX, el valor del fichero Wgi.Ini estß en EAX, y el mßximo de partidas permitidas estß en ECX (0Bh=10d)
Ya para acabar, s≤lo falta modificar el fichero ProBack.Exe con un Editor hexadecimal.
|
[ 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 ] |