WarRock EU - Code Snippets

01/08/2011 17:26 joki4444#1081
nach mal wie kann cih es erkennen ob mein hack wegen der detour oder dem rehook crasht??
01/08/2011 17:36 dsgreha#1082
@Spin:
PHP Code:
void Glasswalls(){
static 
bool glasswalls=false
if(GetAsyncKeyState(VK_NUMPAD7)&1){glasswalls=!glasswalls;}
if(
glasswalls){*(int*)ADR_GLASSWALLS 4;}
else {*(
int*)ADR_GLASSWALLS 0;}

01/08/2011 18:09 Chico™#1083
addy gesucht für

if(CH_PointMode==1)
{
if(m_Stride == 36)
{
pDevice->SetRenderState(D3DRS_FILLMODE,D3DFILL_POINT);
}
}


Oder is das nur d3d ich wils in nomenü reinmachen :D
01/08/2011 18:57 surimi4#1084
das ist nur d3d ;) brauchst keine addy... aber rehook und detour^^

--------------------------------------------------------------------

@spin

PHP Code:
bool glasswalls false;

void glasswalls()
{
     if(
GetAsyncKeyState(VK_NUMPAD7))
     {
          
glasswalls glasswalls == false //wenn glasswalls = true ist wird es false und andersrum...
     
}
     if(
glasswalls == true)
     {
          *(
float*)(ADR_GLASSWALLS) = 4;  //an
     
}
     else
     {
          *(
float*)(ADR_GLASSWALLS) = 0//aus
     
}

01/08/2011 19:25 Spin™#1085
Quote:
Originally Posted by dsgreha View Post
@Spin:
PHP Code:
void Glasswalls(){
static 
bool glasswalls=false
if(GetAsyncKeyState(VK_NUMPAD7)&1){glasswalls=!glasswalls;}
if(
glasswalls){*(int*)ADR_GLASSWALLS 4;}
else {*(
int*)ADR_GLASSWALLS 0;}

Dankeschön es funktioniert :) :)
Lg.
01/08/2011 20:50 *Pumio*#1086
Hat wer Exp 5 % up Addy ?
01/08/2011 21:52 joki4444#1087
Irgend wie Crasht Warrock warrock immer ??
Es muss am ReHook liegen pls help
was ist daran verkehrt

Quote:
VOID Hook(VOID)
{
hD3D9Dll = GetModuleHandleA("d3d9.dll");
do {
hEhSvc = GetModuleHandleA("EhSvc.dll");
Sleep(20);
}
while(!hD3D9Dll);
Sleep(100);
DWORD * VtablePtr = FindDevice((DWORD) hD3D9Dll, 0x128000);
if(VtablePtr == NULL)
{
MessageBoxA(NULL, "D3DDevice Pointer Not Found!", 0, MB_OK);
ExitProcess(0);
}
DWORD * VTable = 0;
*(DWORD *) &VTable = *(DWORD *) VtablePtr;

pReset = (oReset)cDetour((Dd)VTable[16],(Dd)myReset,5);
pPresent = (oPresent)cDetour((DWORD)VTable[17],(DWORD)myPresent,5);
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) B8Detours((DWORD)VTable[82], (DWORD)myDrawIndexedPrimitive, 7);

while(1)
{
if(memcmp((void*)VTable[82],(void*)(PBYTE)"\x8B\xFF",2)== 0)
{
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) B8Detours((DWORD)VTable[82], (DWORD)myDrawIndexedPrimitive, 7);
}
Sleep(458.50);
}
return ;
}
01/08/2011 21:59 surimi4#1088
Quote:
Originally Posted by joki4444 View Post
Irgend wie Crasht Warrock warrock immer ??
Es muss am ReHook liegen pls help
was ist daran verkehrt
Du hast DIP 2mal "erstellt" einmal in der schleife und einmal davor mach das DIP einfach mal NUR in die Present funk kurz vor ende und lass die schleife weg...
bei mir gehts so...
01/08/2011 22:04 joki4444#1089
du meinst so??

Quote:
VOID Hook(VOID)
{
hD3D9Dll = GetModuleHandleA("d3d9.dll");
do {
hEhSvc = GetModuleHandleA("EhSvc.dll");
Sleep(20);
}
while(!hD3D9Dll);
Sleep(100);
DWORD * VtablePtr = FindDevice((DWORD) hD3D9Dll, 0x128000);
if(VtablePtr == NULL)
{
MessageBoxA(NULL, "D3DDevice Pointer Not Found!", 0, MB_OK);
ExitProcess(0);
}
DWORD * VTable = 0;
*(DWORD *) &VTable = *(DWORD *) VtablePtr;

pReset = (oReset)cDetour((Dd)VTable[16],(Dd)myReset,5);
pPresent = (oPresent)cDetour((DWORD)VTable[17],(DWORD)myPresent,5);
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) B8Detours((DWORD)VTable[82], (DWORD)myDrawIndexedPrimitive, 7);
return ;
}

edit habs versucht crash nach 2 min :S
01/08/2011 22:50 surimi4#1090
Quote:
Originally Posted by joki4444 View Post
du meinst so??




edit habs versucht crash nach 2 min :S
nein ich mein das du in der gehookten present funktion
Code:
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) B8Detours((DWORD)VTable[82], (DWORD)myDrawIndexedPrimitive, 7);
das einfügst... bei mir gehts dann besser^^

also statt unter der present funktion weißt du was ich meine??^^
01/09/2011 10:44 seexergy#1091
Was ist falsch???
PS: Ist im HackThread

#define OFS_Speed 0x008F37B4
01/09/2011 11:43 Yazzn˜#1092
Code:
void speeds()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
if(GetAsyncKeyState(VK_F5) &1<< 0xF)
{
*(float*)(OFS_Speed) = 0.0f;
}
if(GetAsyncKeyState(VK_F6) &1<< 0xF)
{
*(float*)(OFS_Speed) =97.0f;
}
if(GetAsyncKeyState(VK_F7) &1<< 0xF)
{
*(float*)(OFS_Speed) =150.0f;
[COLOR="red"]{[/COLOR][COLOR="Green"]// Vielleicht machst du daraus mal     }    o0[/COLOR]
if(GetAsyncKeyState(VK_F8) &1<< 0xF)
{
*(float*)(OFS_Speed) = 250.0f;
}
if(GetAsyncKeyState(VK_F9) &1<< 0xF)
{
*(float*)(OFS_Speed) = 350.0f;
[COLOR="Red"]{[/COLOR][COLOR="Green"]// Vielleicht machst du daraus mal    }     o0[/COLOR]
if(GetAsyncKeyState(VK_F10) &1<< 0xF)
{
*(float*)(OFS_Speed) = 500.0f;
}
if(GetAsyncKeyState(VK_F11) &1<< 0xF)
{
*(float*)(OFS_Speed) = 750.0f;
}

[COLOR="Red"]}[/COLOR][COLOR="SeaGreen"]// Fehlt.[/COLOR]
Btw der bessere Weg würde ungefähr so aussehen :

Code:
#define ADR_Speed 0x8F37B4

int speedstufe;

void speeds()
{
	if( (GetAsyncKeyState(VK_F5)&1) && ( speedstufe < 7 ) )
	{
		speedstufe++;
	}

	if( (GetAsyncKeyState(VK_F6)&1) && ( speedstufe != 0 ) )
	{
		speedstufe--;
	}
	
	*(float*)(ADR_Speed) = (97 * speedstufe);

}
Mit F5 geht die Geschwindigkeit hoch - Mit F6 geht die Geschwindigkeit runter. :o

------------------------------------------------------------------------------

Zu dem Code:
Code:
VOID Hook(VOID)
{ 
hD3D9Dll = GetModuleHandleA("d3d9.dll");
do {
hEhSvc = GetModuleHandleA("EhSvc.dll");
Sleep(20);
}
while(!hD3D9Dll);
Sleep(100);
DWORD * VtablePtr = FindDevice((DWORD) hD3D9Dll, 0x128000);
if(VtablePtr == NULL) 
{
MessageBoxA(NULL, "D3DDevice Pointer Not Found!", 0, MB_OK);
ExitProcess(0);
} 
DWORD * VTable = 0;
*(DWORD *) &VTable = *(DWORD *) VtablePtr;

pReset = (oReset)cDetour((Dd)VTable[16],(Dd)myReset,5);
pPresent = (oPresent)cDetour((DWORD)VTable[17],(DWORD)myPresent,5);
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) B8Detours((DWORD)VTable[82], (DWORD)myDrawIndexedPrimitive, 7);

while(1)
{
if(memcmp((void*)VTable[82],(void*)(PBYTE)"\x8B\xFF",2)== 0)
{
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) B8Detours((DWORD)VTable[82], (DWORD)myDrawIndexedPrimitive, 7);
}
Sleep(458.50);
}
return ;
}
Erstmal muss ich sagen:
Quote:
Du hast DIP 2mal "erstellt" einmal in der schleife und einmal davor mach das DIP einfach mal NUR in die Present funk kurz vor ende und lass die schleife weg...
bei mir gehts so...
Stimmt nicht.

Er Hookt erst die DrawIndexedPrimitive und in der Schleife überprüft er ob die DrawIndexedPrimitive noch gehookt ist.

Falls sie nicht mehr gehookt ist , hookt er sie neu.

Ich frag mich zwar was dir das bringt:
Quote:
do {
hEhSvc = GetModuleHandleA("EhSvc.dll");
Sleep(20);
}
aber egal.

Versuch mal dieses Rehook:
Code:
do{
	if(memcmp((void*)VTable[82],(void*)(PBYTE)"\x8B\xFF",2)== 0)
	{
		pDrawIndexedPrimitive = (oDrawIndexedPrimitive) B8Detours((DWORD)VTable[82], (DWORD)myDrawIndexedPrimitive, 7);
	}

	Sleep(2000);
}while(TRUE);
Habe es noch nicht getestet aber sollte klappen. :)
01/09/2011 16:18 joki4444#1093
habs jetzt so versucht
aber crasht noch immer
und diese warnung wird angezeigt
10501



Quote:
VOID Hook(VOID)
{
hD3D9Dll = GetModuleHandleA("d3d9.dll");
{
Sleep(10);
}
while(!hD3D9Dll);
Sleep(100);
DWORD * VtablePtr = FindDevice((DWORD) hD3D9Dll, 0x128000);
if(VtablePtr == NULL)
{
MessageBoxA(NULL, "D3DDevice Pointer Not Found!", 0, MB_OK);
ExitProcess(0);
}
DWORD * VTable = 0;
*(DWORD *) &VTable = *(DWORD *) VtablePtr;

pReset = (oReset)cDetour((Dd)VTable[16],(Dd)myReset,5);
pPresent = (oPresent)cDetour((DWORD)VTable[17],(DWORD)myPresent,5);
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) B8Detours((DWORD)VTable[82], (DWORD)myDrawIndexedPrimitive, 7);
do
{
if(memcmp((void*)VTable[82],(void*)(PBYTE)"\x8B\xFF",2)== 0)
{
pDrawIndexedPrimitive = (oDrawIndexedPrimitive) B8Detours((DWORD)VTable[82], (DWORD)myDrawIndexedPrimitive, 7);
}

Sleep(2000);
}
while(TRUE);
}
01/09/2011 17:04 CyberRazzer#1094
Hooke MyDrawIndex einfach nicht ist eh detect for hackshield ;o
01/09/2011 17:07 *Pumio*#1095
hat wer den source code für crossinghair das es nicht blingt ?