WarRock EU - Code Snippets

12/18/2011 14:07 Wolf0fmusic#6106
xD I fixed it :) Thanks Guys :D

Request No134Idle ^^
12/18/2011 15:20 hero9910#6107
Code:
		if (idle134)
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr!= 0)
{
*(float*)(dwPlayerPtr+ OFS_NOM134IDLE) = 1;
}
}
12/18/2011 15:47 Wolf0fmusic#6108
Request

WTW , WUW , Invisble

Thanks Alot Credits give ^^
12/18/2011 15:54 .Tiq3reye™#6109
Code:
static bool InviciblePatch;

if (DH_Invisible){
if (!InvisiblePatch){
*(long*)(Server+OFS_INVISIBLE) -= 2;
InvisiblePatch = true;
}}else{
if (InvisiblePatch)
{*(long*)(Server+OFS_INVISIBLE) += 2;
InvisiblePatch = false;}}
Code:
if(DH_WTW){
*(float*)(MEM_WTW) = -999;}
else{
*(float*)(MEM_WTW) = 6;}
12/18/2011 16:36 WarFk#6110
WUW :
Code:
if(WUW)
{
*(float*)(ADR_WaterHeight) = 0;
}
^^ net so schwer xD
12/18/2011 18:45 neowns#6111
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
-.- ?
12/18/2011 19:05 Venom'#6112
Quote:
Originally Posted by neowns View Post
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
-.- ?
Wir haben hier ja einen ganz schlauen wa ? :awesome:
Zeig uns doch mal den ganzen "Log" !
12/18/2011 20:58 . χaωe#6113
N'Abend :)

kann mir hier vllt jmd helfen die D3D Detour für WR zu schreiben, ich werd daraus irgendwie nicht schlau...
Soweit ich das jetzt verstanden habe muss ich die BeginScene von WR (die Adresse) finden und diese erstmal per ASM zu einer eigenen umleiten in der ich das Menu zeichnen lasse und schließlich wieder eine Zeile weiter in der BeginScene ansetzen.. soweit die Theorie, aber nun finde ich in WR immer nur die EndScene... kann mir da vllt jemand helfen wie ich die BeginScene-addy finde, irgendein Tipp geben wie ich darauf komme oder sonst iwas ?
Ich würd mich über Hilfe sehr freuen, und ich erwarte ja auch kein fertigen Source, den will ich selbst schreiben aber ich komm einfach nicht weiter...

Sawe :)
12/18/2011 21:55 Raz9r#6114
Quote:
Originally Posted by . χaωe View Post
N'Abend :)

kann mir hier vllt jmd helfen die D3D Detour für WR zu schreiben, ich werd daraus irgendwie nicht schlau...
Soweit ich das jetzt verstanden habe muss ich die BeginScene von WR (die Adresse) finden und diese erstmal per ASM zu einer eigenen umleiten in der ich das Menu zeichnen lasse und schließlich wieder eine Zeile weiter in der BeginScene ansetzen.. soweit die Theorie, aber nun finde ich in WR immer nur die EndScene... kann mir da vllt jemand helfen wie ich die BeginScene-addy finde, irgendein Tipp geben wie ich darauf komme oder sonst iwas ?
Ich würd mich über Hilfe sehr freuen, und ich erwarte ja auch kein fertigen Source, den will ich selbst schreiben aber ich komm einfach nicht weiter...

Sawe :)
Man kann die Adresse mit der Virtual Table der Klasse finden... Die Source dafür wurde vor Jahren schon veröffentlicht.
Das schwierige ist, die Detour so zu coden, dass sie nicht erkannt wird. Bestimmte Sequenzen von Bytes erkennt Hackshield, etwa die der meisten Detours. Für API Funktionen außerhalb der d3d9.dll kannst du ganz normal IAT / EAT Hooks setzen, Hackshield überprüft diese nicht.
Für die Funktionen der d3d9.dll: Adresse finden via Virtual Table (oft nur VTable genannt) und dann den Hook setzen durch Codemodifikation. Beachte dabei: B8h und E9h sind detected (JMP NEAR bzw. MOV EAX).
Viel Glück dabei.
12/19/2011 11:48 Wolf0fmusic#6115
Request RapidFire ^^
12/19/2011 15:46 Venom'#6116
Quote:
Originally Posted by Wolf0fmusic View Post
Request RapidFire ^^
Gibs zur Zeit nicht,ist gepacht!
12/19/2011 21:45 Optimus~Prime~#6117
Gibt es im Moment eine Public detour? wenn ja bitte Posten :)
12/20/2011 07:18 Venom'#6118
Quote:
Originally Posted by xBioK1ngz View Post
Code:
DWORD DetourCreate( DWORD  dwOldFunc,DWORD dwNewFunc )
{
	#define JMP_SIZE  5
	DWORD DetourVA, dwProtect, i;
	if ( dwOldFunc && dwNewFunc && JMP_SIZE >= JMP_SIZE )
	{
		DetourVA = (DWORD) VirtualAlloc( NULL, JMP_SIZE + JMP_SIZE, MEM_COMMIT, PAGE_EXECUTE_READWRITE );
		if ( DetourVA && VirtualProtect( (VOID*)dwOldFunc, JMP_SIZE, PAGE_EXECUTE_READWRITE, &dwProtect ) )
		{
			for ( i=0; i < JMP_SIZE; i++ )
			{
				*(BYTE*)( DetourVA + i ) = *(BYTE*)( dwOldFunc + i );
			}
			*(BYTE*)( DetourVA + JMP_SIZE + 0 ) = 0xE9;
			*(DWORD*)( DetourVA + JMP_SIZE + 1 ) = ( dwOldFunc - DetourVA - JMP_SIZE );
	    		*(BYTE*)( dwOldFunc + 0 ) = 0xE9;
			*(DWORD*)( dwOldFunc + 1 ) = ( dwNewFunc - dwOldFunc - JMP_SIZE );
			VirtualProtect( (VOID*)dwOldFunc, JMP_SIZE, dwProtect, &dwProtect );
			VirtualProtect( (VOID*)DetourVA, JMP_SIZE + JMP_SIZE,PAGE_EXECUTE_READ, &dwProtect );
	    		return DetourVA;
		}
	}
	return (0);
}
Code:
DWORD DetourCreate( DWORD  dwOldFunc,DWORD dwNewFunc )
{
	#define JMP_SIZE  7
	DWORD DetourVA, dwProtect, i;
	if ( dwOldFunc && dwNewFunc && JMP_SIZE >= JMP_SIZE )
	{
		DetourVA = (DWORD) VirtualAlloc( NULL, JMP_SIZE + JMP_SIZE, MEM_COMMIT, PAGE_EXECUTE_READWRITE );
		if ( DetourVA && VirtualProtect( (VOID*)dwOldFunc, JMP_SIZE, PAGE_EXECUTE_READWRITE, &dwProtect ) )
		{
			for ( i=0; i < JMP_SIZE; i++ )
			{
				*(BYTE*)( DetourVA + i ) = *(BYTE*)( dwOldFunc + i );
			}
			*(BYTE*)( DetourVA + JMP_SIZE + 0 ) = 0xB8;
			*(DWORD*)( DetourVA + JMP_SIZE + 1 ) = ( dwOldFunc + JMP_SIZE );
			*(WORD*)( DetourVA + JMP_SIZE + 5 ) = 0xE0FF;
			*(BYTE*)( dwOldFunc + 0 ) = 0xB8;
			*(DWORD*)( dwOldFunc + 1 ) = ( dwNewFunc );
			*(WORD*)( dwOldFunc + 5 ) = 0xE0FF;
			VirtualProtect( (VOID*)dwOldFunc, JMP_SIZE, dwProtect, &dwProtect );
			VirtualProtect( (VOID*)DetourVA, JMP_SIZE + JMP_SIZE,PAGE_EXECUTE_READ, &dwProtect );
	    		return DetourVA;
		}
	}
	return (0);
}
^This : Pub. Detour !
12/20/2011 12:03 Wolf0fmusic#6119
Request WeaponBinder source :)
12/20/2011 13:11 xBioK1ngz#6120
Quote:
Originally Posted by Venom' View Post
Gibs zur Zeit nicht,ist gepacht!


NoDelay:

Asm:
Code:
if ( cWeaponHacks.CH_NoDelay )
{
    cTools->WriteMemory((LPVOID)(ADR_ASM_NODELAY),(PBYTE)"\x90\x90",2);
}
Memory:
Code:
if ( cWeaponHacks.CH_NoDelay )
{
    *(FLOAT*)(ADR_MEM_NODELAY) = 999.0F;
}
Offset:
Code:
if ( cWeaponHacks.CH_NoDelay )
{
    *(DWORD*)(dwPlayerPtr+ADR_OFS_NODELAY) = -1;
}