Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 04:47

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

Advertisement



D3D-Hook Absturz

Discussion on D3D-Hook Absturz within the General Coding forum part of the Coders Den category.

Reply
 
Old 12/07/2009, 15:39   #16
 
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,344
Quote:
Originally Posted by ^darkwing View Post
Bei mir ändert sich die Adresse des ModulHandles nach jedem Systemneustart ;x
Bei mir nach jedem Programmneustart. ;O
Ist anscheinend abhängig vom Betriebssystem.
ms​ is offline  
Old 12/08/2009, 14:52   #17
 
elite*gold: 0
Join Date: May 2008
Posts: 489
Received Thanks: 210
Vielleicht mal mit C&P aufhören? Du hast ja offensichtlich keinen Plan von dem was du da machst.
schlurmann is offline  
Thanks
1 User
Old 12/09/2009, 14:13   #18
 
elite*gold: 0
Join Date: Nov 2008
Posts: 17
Received Thanks: 0
Ich habe den Hook nach einem Tutorial gemacht, da wird einfach die absolute Adresse verwendet, was aber anscheinend nicht funktioniert.
gametester123 is offline  
Old 12/09/2009, 22:47   #19
 
elite*gold: 0
Join Date: Nov 2008
Posts: 17
Received Thanks: 0
Kann es sein das es irgendwie mit Windows Vista zusammenhängt?
gametester123 is offline  
Old 12/09/2009, 22:51   #20
 
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,344
nein
ms​ is offline  
Old 12/12/2009, 22:39   #21
 
elite*gold: 0
Join Date: Nov 2008
Posts: 17
Received Thanks: 0
So, funktioniert jetzt, hab die Methode von Gordon benutzt.. Trotzdem danke an alle die mir helfen wollten
gametester123 is offline  
Old 12/17/2009, 20:12   #22
 
elite*gold: 0
Join Date: Dec 2009
Posts: 5
Received Thanks: 0
ich hab gerade probleme bei der methode von gordon.. hilfe bitte
Code:
#include <windows.h>
#include <cstdio>
#include <d3d9.h>
#include <d3dx9.h>

#pragma once
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")


typedef HRESULT (WINAPI* tEndScene)(LPDIRECT3DDEVICE9 pDevice);
tEndScene oEndScene;

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);
}

void DrawRect (LPDIRECT3DDEVICE9 Device_t, int X, int Y, int L, int H, D3DCOLOR color)
{
	D3DRECT rect = {X, Y, X+L, Y+H};
	Device_t->Clear(1, &rect, D3DCLEAR_TARGET, color, 0, 0); // bei Google gibt’s näheres
}

HRESULT __stdcall hkEndScene(LPDIRECT3DDEVICE9 pDevice)
{
   	const D3DCOLOR txtPink = D3DCOLOR_ARGB(255, 255, 0, 255); // Alpha, Rot, Grün, Blau
	DrawRect (pDevice, 10, 10, 200, 200, txtPink);
	return oEndScene(pDevice);
} 

bool bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
	for(;*szMask;++szMask,++pData,++bMask)
		if(*szMask=='x' && *pData!=*bMask )
			return false;
	return (*szMask) == NULL;
}
DWORD dwFindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
	for(DWORD i=0; i < dwLen; i++)
		if( bDataCompare( (BYTE*)( dwAddress+i ),bMask,szMask) )
			return (DWORD)(dwAddress+i);

	return 0;
}

void InitHook()
{
    HMODULE hModule = NULL;
    
    while(!hModule)
    {
        hModule = GetModuleHandleA("d3d9.dll"); 
        Sleep( 100 ); 
    }
			DWORD* VTableStart = 0;
			DWORD FoundByGordon = dwFindPattern((DWORD)hModule, 0x128000,
(PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
			memcpy(&VTableStart, (void*)(FoundByGordon+2), 4);

			dwDrawIndexedPrimitive = (DWORD)VTableStart[82]; // für mehr: blick in die d3d9.h werfen!
			dwEndScene = (DWORD)VTableStart[42];
    oEndScene = ( tEndScene )DetourFunc((PBYTE) 0x7542CE09,(PBYTE) hkEndScene, 5);

}

void RunHook()
{
    CreateThread(0, 0, (LPTHREAD_START_ROUTINE) InitHook, 0, 0, 0);
}

BOOL WINAPI DllMain(HINSTANCE hInst,DWORD reason,LPVOID reserved)
{
    if( reason ==1 )
    {
        RunHook();
    }
    
    return true;
}
eliTec0De is offline  
Reply

Tags
d3d, endscene, hook


Similar Threads Similar Threads
pc absturz
05/25/2010 - Technical Support - 2 Replies
also ich bin grad am spielen dann stürzt mein pc ab dann auf ein mal sartet er sich neu dann kommt immer wen ich ih starte reboot and select proper boot device or insert boot media in selected boot device and press a key
Absturz
04/04/2010 - Technical Support - 7 Replies
hey leute ich und mein freund sind dabei einen privat server zu erstellen.Leider stürzt er bei mir immer ab aber bei meinem freund nicht.Wir haben beide vista 32 bit. Hat jemand ne lösung?
ICQ 5.1 Erlaubnisanfrage - Absturz - weg
09/25/2008 - Off Topic - 5 Replies
Hey, habe gerade mein ICQ gestartet, waren auch 2 Anfragen bei, als ich die geöffnet habe, stürzte ICQ leider ab. Jetzt sind die weg, allerdings waren das vermutlich sehr wichtige Anfragen .. :) Kann man sich die irgendwo nochmal angucken? Weil so langsam zehrt ICQ an meiner nervlichen Verfassung. Grüße
Absturz vom pc
08/02/2008 - Technical Support - 9 Replies
Hallo weis jemand was das bedeutet ? STOP: 0x0000007E ? mfg
Absturz
07/24/2008 - Metin2 - 10 Replies
Hallo! Ich war letztens mitten im Spiel und plötzlich erscheint ein Fenster, wo 6 Fragezeichen in 2 3er Gruppen stehen (??? ???) und darunter Ja Nein. Wenn ich jetzt irgendetwas drücke schließt sich dsa kleine Fenster und Metin2 auch. Woran liegt das????:confused::(



All times are GMT +2. The time now is 04:47.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.