Main 
        | Index
      GoldSprinter
      
      
 Type : Game - http://www.alawar.com
      Protection : ASProtect
      Tech : Dumping + IAT Fix 
       Crack : Some times unexpected things happens.Verifying the IAT 
        with the IMPRec of this program shows that 2 Thunks have invalid pointers.Trace 
        Level 1-2-3 can be used on some.But still there are some invalid pointers. 
      
These invalid pointers are nothing but ASProtect CALLS which then CALLS 
        corresponding APIs.Just fooling us. 
      
I have seen that if we just go inside any EMULATED API call routine by 
        pressing F8 ... it helps ImpRec to build IAT ...It happend while unpacking 
        this program.
        So just trace through CALL at 00439376 code till you enter any API in 
        system dll.
        And now use ImpRec.We can see all APIs get validatded. Why is it behaving 
        like this ????
        Is it like giving a hint to ImpRec ????
      
Finding OEP
 
      
IceDump can be 
        used to find OEP.Use /tracex 400000 eip-8.But here it can be found out 
        easily.In SICE BPX GETVERSION.Now run packed program.When we break.Look 
        up to see real entry point ...
      015F:004392AD 55 PUSH EBP --->>> OEP
        015F:004392AE 8BEC MOV EBP,ESP
        015F:004392B0 6AFF PUSH FF 
        015F:004392B2 6878354500 PUSH 00453578 
        015F:004392B7 68587B4300 PUSH 00437B58 
        015F:004392BC 64A100000000 MOV EAX,FS:[00000000] 
        015F:004392C2 50 PUSH EAX 
        015F:004392C3 64892500000000 MOV FS:[00000000],ESP 
        015F:004392CA 83EC58 SUB ESP,58 
        015F:004392CD 53 PUSH EBX 
        015F:004392CE 56 PUSH ESI 
        015F:004392CF 57 PUSH EDI 
      Dumping can 
        be done even after first api call ...it will work. Use JMP EIP = EB FE 
        trick to dump file.Use WinHex and correct EB FE.Now use PEditor and change 
        EP.
      
      Use WinHex 
        RAM Editor -- Open Primary Memory of program.Just note the address of 
        API GetVersion and go to that address....we can see...
      IAT : 00453000 -- 0045323F --> 240 --- Like Packets 
        of address
      Use ImpRec
        OEP = 392AD
        RVA = 53000
        SIZE = 240
      Click " GetImports" ... "Auto Trace" 
        Fix Dump
      Run program ... we get page fault at : 017FC784
        ----------------------------------------------------------------------
        Trace from begining ...
      015F:00439375 50 PUSH EAX 
        015F:00439376 E87589FEFF CALL 00421CF0 -- >>
        015F:0043937B 8945A0 MOV [EBP-60],EAX 
        015F:0043937E 50 PUSH EAX 
      
        Inside CALL 00421CF0 ....
      015F:00421CF0 8B442404 MOV EAX,[ESP+04] 
        015F:00421CF4 83EC1C SUB ESP,1C 
        015F:00421CF7 A370DB4700 MOV [0047DB70],EAX 
        015F:00421CFC FF1530654600 CALL [00466530] --- Page Fault : NaG Wnd
        015F:00421D02 A14C144800 MOV EAX,[0048144C] 
        015F:00421D07 85C0 TEST EAX,EAX 
        015F:00421D09 0F8487000000 JZ 00421D96 --- BAD BOY
        015F:00421D0F 8B4C242C MOV ECX,[ESP+2C] 
        015F:00421D13 51 PUSH ECX 
        015F:00421D14 E887000000 CALL 00421DA0 
        015F:00421D19 83C404 ADD ESP,04 
        015F:00421D1C 85C0 TEST EAX,EAX 
        015F:00421D1E 7576 JNZ 00421D96 
        015F:00421D20 53 PUSH EBX 
        015F:00421D21 8B1DF0314500 MOV EBX,[USER32!TranslateMessage] 
        015F:00421D27 55 PUSH EBP 
      Compare with 
        Packed Program : we can see ... CALL 00421C80 ---> NAG Wnd
        So [00466530] = 00421C80
        Open dumped file with WinHex and go to offset : 66530
        we can see : 84 C7 7F 01 = 017FC784 --- PAGE FAULT ADDRESS
        Change this to : 80 1C 42 00 = 00421C80
        Now our dumped file runs ..... IAT rebuilding trick still remains a mestry 
        for me how ImpRec found out correct APIs.May be i have used TRACE level 
        and then restarted the program.May be steping inside one of the API gave 
        it some hint ... any way this shit is working ..
      Now here 
        is a API CALL in ASProtect :
      API 
        CALL in ASProtect
      015F:00421CF7 
        A370DB4700 MOV [0047DB70],EAX 
        015F:00421CFC FF1530654600 CALL [00466530] ---> JMP TO 017FC784
      
        015F:017FC784 833DA835800100 CMP DWORD PTR [018035A8],00
        015F:017FC78B 7406 JZ 017FC793 
        015F:017FC78D FF15A8358001 CALL [018035A8] ---> JMP TO 00421C80
        015F:017FC793 C3 RET 
      015F:00421C80 
        A144144800 MOV EAX,[00481444]
        015F:00421C85 50 PUSH EAX 
        015F:00421C86 FF1580304500 CALL [00453080] --> JMP TO 01812E90
      015F:01812E90 
        E9B1317BBE JMP BFFC6046 (JUMP) 
      015F:BFFC6041 
        E92D13FBFF JMP KERNEL32!lstrcat