Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


[Test]FindPatternEx
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
&Vage
Grandmaster Cheater Supreme
Reputation: 0

Joined: 25 Jul 2008
Posts: 1053

PostPosted: Thu Sep 18, 2008 8:27 pm    Post subject: Reply with quote

rapion124 wrote:
_void wrote:

Would you like me to use KiSystemFastcall instead of RPM? Rolling Eyes


Lol. Won't work either. Most anti-cheats load a driver that hooks the int 2E handler.


There are other methods...
Back to top
View user's profile Send private message
dnsi0
I post too much
Reputation: 0

Joined: 04 Jan 2007
Posts: 2674

PostPosted: Fri Sep 19, 2008 1:52 pm    Post subject: Reply with quote

Is it possible to Unhook it or will the driver simply detect it?
Back to top
View user's profile Send private message
&Vage
Grandmaster Cheater Supreme
Reputation: 0

Joined: 25 Jul 2008
Posts: 1053

PostPosted: Fri Sep 19, 2008 2:28 pm    Post subject: Reply with quote

dnsi0 wrote:
Is it possible to Unhook it or will the driver simply detect it?


No, you can't unhook it. GameGuard will rewrite the hook.
Back to top
View user's profile Send private message
HalfPrime
Grandmaster Cheater
Reputation: 0

Joined: 12 Mar 2008
Posts: 532
Location: Right there...On your monitor

PostPosted: Fri Sep 19, 2008 2:37 pm    Post subject: Reply with quote

I thought gg crashed if one of it's hooks got over-written. If all it does is re-write it, couldn't you just unhook it every time you use rpm/wpm?
_________________
Back to top
View user's profile Send private message
BanMe
Master Cheater
Reputation: 0

Joined: 29 Nov 2005
Posts: 375
Location: Farmington NH, USA

PostPosted: Fri Sep 19, 2008 3:07 pm    Post subject: Reply with quote

you may not be able to unhook it, though you could just Add a entry For Hooked Entry into the SSDT manuelly, just add a secondary Kernel Service Function that simply call the function directly instead of through the ServiceDesriptorTable..
Also add Entries to the SSPT..for your functions

could also place a hook for the sysenter call
Code:

7C90D5DA >/$ B8 1D000000    MOV EAX,1D
7C90D5DF  |. BA 0003FE7F    MOV EDX,7FFE0300
7C90D5E4  |. FF12           CALL DWORD PTR DS:[EDX]
7C90D5E6  \. C2 0400        RETN 4
7C90D5E9     90             NOP


ZwCompleteConnectPort as a example

could be hooked by changing the DWORD 7 bytes in :d
so a example hooking routine to do just that
Code:

__declspec(naked) void DetourSysEnter
{
__asm
     {
          mov eax,OurKernelServiceId
          mov edx, 0x7FFE0300
          call  DWORD PTR ds:[edx]
          retn 4
    }
}   
pfn = GetProcAddress(ntdll,"NtOrZw");
pfn+7 = *(DWORD*)DetourSysEnter;


or alternativly with a 2 byte hook in code and a 5 byte modification of nops ...up or down you choice Wink
Code:

*pfn+16 = 0xe9;
// *pfn-5 = 0xe9
*pfn+17 = *(DWORD*)DetourSysEnter;
// *pfn-4 = *(DWORD*)DetourSysEnter
*pfn+11 = 0x03eb;
// *pfn+11 = 0xfeeb


also you could do a direct modification of the Word located at bytes 2 and 3 to directly change the Id,and not have to rely on loaded a handler Function...
Code:

*pfn+2=*(WORD*)OurServiceIdNumber;


Last edited by BanMe on Sat Sep 20, 2008 9:19 am; edited 5 times in total
Back to top
View user's profile Send private message MSN Messenger
nog_lorp
Grandmaster Cheater
Reputation: 0

Joined: 26 Feb 2006
Posts: 743

PostPosted: Fri Sep 19, 2008 3:26 pm    Post subject: Reply with quote

_void_ wrote:
nog_lorp wrote:
Return in case of fail shouldn't be Value, it should be 0 or -1 or some indication of failure.


It is...

This will find the address without injecting a DLL.


What? No.

Code:
      if(value == sig){
         Addr = i;
         return Addr;
      }

   }

   return Addr;


should be
Code:
      if(value == sig){
         Addr = i;
         return Addr;
      }

   }

   return -1; // or 0 or something

_________________
Mutilated lips give a kiss on the wrist of the worm-like tips of tentacles expanding in my mind
I'm fine accepting only fresh brine you can get another drop of this yeah you wish
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming All times are GMT - 6 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites