|
You last visited: Today at 04:47
Advertisement
D3D-Hook Absturz
Discussion on D3D-Hook Absturz within the General Coding forum part of the Coders Den category.
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
Bei mir ändert sich die Adresse des ModulHandles nach jedem Systemneustart ;x
|
Bei mir nach jedem Programmneustart. ;O
Ist anscheinend abhängig vom Betriebssystem.
|
|
|
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.
|
|
|
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.
|
|
|
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?
|
|
|
12/09/2009, 22:51
|
#20
|
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,344
|
nein
|
|
|
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
|
|
|
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;
}
|
|
|
|
|
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.
|
|