Target: Animagic 1.22 (or lower versions) Author: matias921 Where: http://rtlsoft.com/animagic/ Protection: name/pass Tools: w32dasm, any hex editor (like UltraEdit) Run animagic32.exe and a nag shows up, ignore it. Now Help-->Enter name and password Enter anything for name and pass and hit <enter>. Is this a MessageBox? "Registration failed: Invalid Password" Open w32dasm and disassemble animagic32.exe. Click on Find Text button on toolbar and enter: "Registration failed: Invalid Password" and you're here: * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00422A4F(C) | :00422AC1 8B06 mov eax, dword ptr [esi] :00422AC3 6A00 push 00000000 :00422AC5 6A00 push 00000000 * Possible StringData Ref from Data Obj ->"Registration failed: Invalid Password" | :00422AC7 687F954700 push 0047957F :00422ACC FF700C push [eax+0C] --> poit to text :00422ACF FF7068 push [eax+68] --> poit to title :00422AD2 E887080300 call 0045335E --> call MessageBoxExA This MassageBox is referenced by a jump at 00422A4F, let's see what's there: :00422A48 803D0551480000 cmp byte ptr [00485105], 00 :00422A4F 7470 je 00422AC1 It compares 00485105 with 00 If equal then jump to nag What's mean 0=not-regged 1=regged We'll change the 00 to 01. Then the prog jmp to nag if we're regged, else (if we aren't regged) jump to good. Open animagic32.exe with your favorite hex editor (UltraEdit in my case) and Replace All 803D0551480000 (cmp byte ptr [00485105], 00) with 803D0551480001 (cmp byte ptr [00485105], 01) There you go! Contact: matias921@come.toeal problem :).