xtrap hackshield detects hookings

06/30/2015 22:57 Slade100#1
hey everybody, when i try to hook a function in the game.exe xtrap detects it immadiatly, anybody knows a way how to hide it?, ive tried mid function hooking also, but unfortunately no success :S
edit: also ollydbg will be detected immadiatly
07/01/2015 15:11 Omdi#2
Remove the CRC-Checks and you'll be fine.
07/01/2015 22:00 Slade100#3
thanks, ive already thought about that, but the problem was finding the crc function, ive read something about setting page guard, and getting the function through that, but no idea how to get the function through that, setting the page guard is easy, but getting the function? maybe someone can give me hint about that.
07/05/2015 14:41 Slade100#4
#push, unfortunately i still didnt manage to do it :S
07/05/2015 15:43 Omdi#5
Place a breakpoint on access somewhere in the .code section and it should be breaking straight in the crc function.
07/09/2015 16:39 Slade100#6
erstmal danke für die antwort hatte die tage leider nur wenig zeit, aufjedenfall habe ich jetzt die crc func gefunden, nur leider wie gesagt kann ich mit nicht debuggen wegen dem hackshield, daher dachte ich mir ich gucke von wo die crc funtkion augerufen wird, aber selbst das steht nicht am top der funtkion.. gibt es vllt eine möglich wie ich das per c++ heraus finden kann?
Code:
CPU Disasm
Address   Hex dump                         Command                                                                  Comments
40588224    55                             PUSH EBP                                                                 ; ASCII "\xD0\xF1("
40588225    8BEC                           MOV EBP,ESP
40588227    83EC 2C                        SUB ESP,2C
4058822A    837D 10 00                     CMP DWORD PTR SS:[EBP+10],0
4058822E   75 05                          JNE SHORT XTrapVa.40588235
40588230   E9 CD070000                    JMP XTrapVa.40588A02
..
..
..
405886C8   0F84 D9010000                  JE XTrapVa.405888A7
405886CE    8B45 0C                        MOV EAX,DWORD PTR SS:[EBP+0C]
405886D1    33C9                           XOR ECX,ECX
405886D3    8A08                           MOV CL,BYTE PTR DS:[EAX] <---- hier wird mein page guard excepion ausgelöst.
405886D5    C1E1 18                        SHL ECX,18
405886D8    894D EC                        MOV DWORD PTR SS:[EBP-14],ECX
405886DB    8B55 0C                        MOV EDX,DWORD PTR SS:[EBP+0C]
405886DE    83C2 01                        ADD EDX,1
405886E1    8955 0C                        MOV DWORD PTR SS:[EBP+0C],EDX
405886E4    8B45 0C                        MOV EAX,DWORD PTR SS:[EBP+0C]
405886E7    33C9                           XOR ECX,ECX
405886E9    8A08                           MOV CL,BYTE PTR DS:[EAX]
405886EB    C1E1 10                        SHL ECX,10
405886EE    8B55 EC                        MOV EDX,DWORD PTR SS:[EBP-14]
405886F1    0BD1                           OR EDX,ECX
405886F3    8955 EC                        MOV DWORD PTR SS:[EBP-14],EDX
405886F6    8B45 0C                        MOV EAX,DWORD PTR SS:[EBP+0C]
405886F9    83C0 01                        ADD EAX,1
405886FC    8945 0C                        MOV DWORD PTR SS:[EBP+0C],EAX
405886FF    8B4D 0C                        MOV ECX,DWORD PTR SS:[EBP+0C]
40588702    33D2                           XOR EDX,EDX
...
...
iwann dann retn
07/28/2015 06:38 meak1#7
Quote:
Originally Posted by erfan100 View Post
erstmal danke für die antwort hatte die tage leider nur wenig zeit, aufjedenfall habe ich jetzt die crc func gefunden, nur leider wie gesagt kann ich mit nicht debuggen wegen dem hackshield, daher dachte ich mir ich gucke von wo die crc funtkion augerufen wird, aber selbst das steht nicht am top der funtkion.. gibt es vllt eine möglich wie ich das per c++ heraus finden kann?
Code:
CPU Disasm
Address   Hex dump                         Command                                                                  Comments
40588224    55                             PUSH EBP                                                                 ; ASCII "\xD0\xF1("
40588225    8BEC                           MOV EBP,ESP
40588227    83EC 2C                        SUB ESP,2C
4058822A    837D 10 00                     CMP DWORD PTR SS:[EBP+10],0
4058822E   75 05                          JNE SHORT XTrapVa.40588235
40588230   E9 CD070000                    JMP XTrapVa.40588A02
..
..
..
405886C8   0F84 D9010000                  JE XTrapVa.405888A7
405886CE    8B45 0C                        MOV EAX,DWORD PTR SS:[EBP+0C]
405886D1    33C9                           XOR ECX,ECX
405886D3    8A08                           MOV CL,BYTE PTR DS:[EAX] <---- hier wird mein page guard excepion ausgelöst.
405886D5    C1E1 18                        SHL ECX,18
405886D8    894D EC                        MOV DWORD PTR SS:[EBP-14],ECX
405886DB    8B55 0C                        MOV EDX,DWORD PTR SS:[EBP+0C]
405886DE    83C2 01                        ADD EDX,1
405886E1    8955 0C                        MOV DWORD PTR SS:[EBP+0C],EDX
405886E4    8B45 0C                        MOV EAX,DWORD PTR SS:[EBP+0C]
405886E7    33C9                           XOR ECX,ECX
405886E9    8A08                           MOV CL,BYTE PTR DS:[EAX]
405886EB    C1E1 10                        SHL ECX,10
405886EE    8B55 EC                        MOV EDX,DWORD PTR SS:[EBP-14]
405886F1    0BD1                           OR EDX,ECX
405886F3    8955 EC                        MOV DWORD PTR SS:[EBP-14],EDX
405886F6    8B45 0C                        MOV EAX,DWORD PTR SS:[EBP+0C]
405886F9    83C0 01                        ADD EAX,1
405886FC    8945 0C                        MOV DWORD PTR SS:[EBP+0C],EAX
405886FF    8B4D 0C                        MOV ECX,DWORD PTR SS:[EBP+0C]
40588702    33D2                           XOR EDX,EDX
...
...
iwann dann retn
405886C8 0F84 D9010000 JE XTrapVa.405888A7 <- daraus viell. ein JMP machen ;O?

mache demnächst ein Emulator, hier ist mal die Xtrap unpacked. Das Game geht aus, weil das Xtrap-Packet falsch ist, wegen anderen bytes/crc usw. (in Xtrap.xt) aber das kann man auch bypassen ;o

Just hook outside from the Game.exe,

- example: lets say an Dll get loaded, the func kernel32 loadlibrary get's called, hook in other Regions, not in your Game.exe until u bypassed the Checks(;

Edit: Und man brauch doch nicht immer ingame Debuggen ?!? wenn das Spiel crashed kann man auch debuggen...(da ist dann auch alles unpacked/runtime)

Edit2: wenn das der CRC ist, wird dadrauf auch nochmal ein CRC liegen ;o - alle checks zu umgehen ist hart aber nur so kann ich die Packete reversen vom Hackschutz^^

Edit3: habs nochmal neu hochgeladen, hatte es falsch gedumpt ;O - ich muss noch die xtrapva.dll dumpen
07/28/2015 20:36 Omdi#8
Bevor du XTrap emulieren kannst, musst du HGWC emulieren, da die beiden Systeme eng gekoppelt sind ;)
07/29/2015 10:53 meak1#9
Quote:
Originally Posted by Omdihar View Post
Bevor du XTrap emulieren kannst, musst du HGWC emulieren, da die beiden Systeme eng gekoppelt sind ;)
ist nicht vorhanden(; aber Danke
07/29/2015 14:01 Omdi#10
Quote:
Originally Posted by meak1 View Post
ist nicht vorhanden(; aber Danke
Huh, um was für ein Spiel handelt es sich denn?