(tutorial) d3d hacking mit c++

06/12/2010 23:57 djleitno22#1
so ich werde hier mal ein tutorial über d3d hacken reinstellen

Voraussetzungen sind eigentlich nur c++ Grundkentnise und logisches denken

als Entwicklungsumgebung würde ich visual c++ empfehlen
links zum downloaden aller programme die wir brauchen sind im tuorial enthalten

dazu noch etwas kaltes zu trinken und schon kann es losgehen


Inhalt:

[+] Einleitung
[+] Vorraussetzungen
[+] Die DLL Coden
[+] Rechtecke && Schrift Zeichnen
[+] Memoryhacks aus der DLL heraus
[+] Chams
[+] Noch mehr Funktionen

[Only registered and activated users can see links. Click Here To Register...]

kein Password



Viel Spaß beim lernen!!!
06/13/2010 07:21 Jay Niize#2
nice, aber warum stellst du es nicht einfach hierrein, sondern als dl?
06/13/2010 11:40 Akorn#3
Das tutorial sollte eigentlich hier schon recht bekannt sein.
Solltest vielleicht noch bei schreiben das es nicht von dir ist.
07/27/2010 22:06 mosesmai#4
Ich finde die EndScene Adresse nicht.
08/05/2010 00:23 König Elessar#5
also ich kannte das tut nicht... ich bin vor 3 minuten auf e*pvp gekommen, um zu kukken, ob ich was zum thema dll und d3d finde, weil ich auch gerne mal nan hack schreiben würde *gg*

also ich find den thread gut gib auf jeden nen thx, was das tut taugt wird sich zeigen : )
08/05/2010 14:01 Gianotti#6
Quote:
Originally Posted by König Elessar View Post
also ich kannte das tut nicht... ich bin vor 3 minuten auf e*pvp gekommen, um zu kukken, ob ich was zum thema dll und d3d finde, weil ich auch gerne mal nan hack schreiben würde *gg*

also ich find den thread gut gib auf jeden nen thx, was das tut taugt wird sich zeigen : )
schönes tut aber schon aaaaalt o.0


@könig elessar skype fail man wie geil XDDDDD
08/06/2010 23:02 Chatoholics#7
mit was öffnet man nochmal pdf-dateien?
08/07/2010 00:56 MrSm!th#8
[Only registered and activated users can see links. Click Here To Register...] ;)
08/07/2010 08:43 Jay Niize#9
Nett ;)

könntests ja auch mal bei mehreren Hostern hochladen, weil Rapidshare spackt öfters mal ab!

#Added to List
08/07/2010 13:17 Akorn#10
Quote:
Originally Posted by Jusikid View Post
Nett ;)

könntests ja auch mal bei mehreren Hostern hochladen, weil Rapidshare spackt öfters mal ab!

#Added to List
Dan gib einfach in google "d3d9 hooking tutorial". Der dritte treffer verweist schon auf die original seite wo das tutorial eigentlich her kommt.
01/03/2011 16:10 ----------------#11
Hallo zusammen !

Ich weiß, das Thema ist alt, ich wollte aber kein neues erstellen. Ich hab mir das Tutorial mal angeschaut und habe es (glaube ich) soweit ganz gut verstanden. Dann wollte ich es mit dem Spiel Call Of Duty 4 ausprobieren. Allerdings sah ich keine Effekt. Es stellte sich heraus, dass die Methode "hkEndScene" garnicht aufgerufen wird.
Kann mir jemand helfen ?

MfG.
01/03/2011 16:38 .BritainAndy#12
funktioniert eh nicht mehr mit hardcoded addressen ;(
bzw funzt noch, unter glück auf win xp.
Poste doch auch mal dein source pls
01/03/2011 16:57 ----------------#13
Okay, habe den sozusagen 1:1 übernommen und nur die D3D-Adresse geändert:

Code:
#include <Windows.h>
#include <cstdio>
#include <d3d9.h>
#include <d3dx9.h>

void InitHook(void);
void *DetourFunc(BYTE *src, const BYTE *dst, const int len);
void DrawRect (LPDIRECT3DDEVICE9 Device_t, int X, int Y, int L, int H, D3DCOLOR color);
HRESULT __stdcall hkEndScene(LPDIRECT3DDEVICE9 pDevice);

const D3DCOLOR txtPink = D3DCOLOR_ARGB(255, 255, 0, 255);
typedef HRESULT(__stdcall* EndScene_t)(LPDIRECT3DDEVICE9);
EndScene_t pEndScene;

int WINAPI DllMain(HINSTANCE hInst,DWORD reason,LPVOID reserved)
{
	switch(reason)
	{
	case DLL_PROCESS_ATTACH:
		{
			CreateThread(0, 0, (LPTHREAD_START_ROUTINE) InitHook, 0, 0, 0);
			break;
		}
	}

	return true;
}

HRESULT __stdcall hkEndScene(LPDIRECT3DDEVICE9 pDevice)
{
	MessageBoxA(0, "hkEndScene", 0, 0);
	DrawRect (pDevice, 10, 10, 200, 200, txtPink);
	return pEndScene(pDevice);
}

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

	pEndScene = ( EndScene_t )DetourFunc((PBYTE) 0x7542CE09,(PBYTE)hkEndScene, 5);
}

void *DetourFunc(BYTE *src, const BYTE *dst, const int len)
{
	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)
{
	MessageBoxA(0, "DrawRect", 0, 0);
	D3DRECT rect = {X, Y, X+L, Y+H};
	Device_t->Clear(1, &rect, D3DCLEAR_TARGET, color, 0, 0);
}
Die MessageBoxen habe ich nur, damit ich sehe ob und wann was aufgerufen wird...

MfG
01/04/2011 17:44 .BritainAndy#14
ja, die wird nicht aufgerufen weil außerhalb der dll main ist

zudem hast du relativ viele fehler in deinem Source. Hast du nen IM?
01/04/2011 19:24 ----------------#15
Ich hätte ICQ und Skype im Angebot, was möchtest du ?
ICQ ist schonmal: 467-336-022

MfG