Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 03:37

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



D3D Hooking Problem

Discussion on D3D Hooking Problem within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2009
Posts: 1
Received Thanks: 0
D3D Hooking Problem

Alloa,

ich habe mir das Tutorial von durchgelesen und dementsprechend auch versucht was eigenes zu konstruieren. Ich habe eine eigene DLL Hook Datei programmiert und sie mit einem fremden Injector verbunden. Klappt bisher prima.

Es ist mir gut gelungen, ein Rechteck zu zeichnen und ein bisschen Text darauf abzubilden. Sobald ich mein Spiel starte geht alles wie von Zauberhand.

Allerdings ist mir vor kurzem aufgefallen, dass mein "Hook" dummerweise vom Spiel nach einer bestimmten Zeit erkannt wird und sofort ausgeht.

Zum Code:
Ich habe zunächst einmal auf klassischer Art die Funktion EndScene gehookt, in dem ich folgende Funktion gethreadet habe, die den Detour-Prozess einschaltet:

Code:
void InitHook()
{
    HMODULE hModule = NULL;
    
    while(!hModule)
    {
        hModule = GetModuleHandleA("d3d9.dll"); 
        Sleep( 100 ); 
    }

    oEndScene = ( tEndScene )DetourFunc((PBYTE) 0x7542CE09,(PBYTE) hkEndScene, 5);

}
Meine Detour-Funktion sieht folgendermaßen aus:
Code:
void *DetourFunc(BYTE *src, const BYTE *dst, const int len) // credits to gamedeception
{
    BYTE *jmp = (BYTE*)malloc(len+5);
    DWORD dwback;

    VirtualProtect(src, len, PAGE_READWRITE, &dwback);

    memcpy(jmp, src, len); jmp += len;

    jmp[0] = 0xE9;
    *(DWORD*)(jmp+1) = (DWORD)(src+len - jmp) - 5;

    src[0] = 0xE9;
    *(DWORD*)(src+1) = (DWORD)(dst - src) - 5;

    VirtualProtect(src, len, dwback, &dwback);
    
    return (jmp-len);
}
Nun meine Frage: Woran könnte es liegen, dass das Spiel erst NACH ein paar Minuten erkennt, es bestehe eine Hooking-Aktion? Vielleicht weil ich keinen eigenen Injector benutze?
realyreal22 is offline  
Old 03/01/2011, 15:22   #2
 
elite*gold: 0
Join Date: Mar 2008
Posts: 747
Received Thanks: 245
Das Anti-Cheat pogramm durchsucht den prozess nur alle paar minuten nach veränderungen deshalb wird der hook nicht direkt erkannt.
Das Anti-Cheat system kannst du umgehen indem du den hook nicht am anfahng der funktion setzt sondern erst später, dazu wollte MrSm!th auch ein tutorial machen.
Akorn is offline  
Reply


Similar Threads Similar Threads
d3d hooking problem
02/12/2011 - WarRock - 2 Replies
hey ich mach grad des d3d hooking tut von purple.d1amond und habe als erstes um zu testen obs geht den code kopiert und versucht zu testen. problem is nur, dass warrock crasht direkt nachdem ich beim patcher auf spiel starten geklickt habe. weis einer, warum es nicht geht? PS die endscene adresse habe ich die richtige reingemacht. code: -->
C++ D3D Hooking
08/24/2009 - C/C++ - 12 Replies
Hallo zusammen, ich stehe gerade vor folgendem Problem: ich habe eine DLL und einen Loader gecoded, jedoch will ich anstelle des Loader einen Injecter haben, sprich: das spiel, in das injected werden soll, soll schon laufen. Natürlich hab ich das ganze schon probiert, jedoch werden die D3D-funktionen nicht wirklich gehookt, da die DLL auf ein Direct3DCreate9 wartet. Da diese Funktion aber wahrscheinlich direkt beim Starten des "Opfer-Spiels" ausgeführt wird, werden deswegen die anderen...
DLL Hooking/Injection
03/20/2008 - General Coding - 4 Replies
Can anyone lead me to some GOOD tutorials for DLL Hooking/Injection... as the ones ive found on Google are absolutely shit. Thanks in advance. :bandit:
Direct 3D Hooking
12/25/2006 - General Coding - 3 Replies
DIRECT3D8 HOOKING: Required Skills: BASIC ASM programming - Necessary for making the hook code. CODE Injection - Necessary for setting the hook code. Debugging skill - Necessary for finding the Method Calls. Or Hooking of Exports ? Necessary unless you plan to use a debugger.



All times are GMT +1. The time now is 03:37.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.