In diesem Tutorial zeige ich euch, wie ihr euch euren eigenen NoMenu Hack für WarRock Coden könnt.
Kopiert diesen Thread nicht einfach in andere Foren! Nur mit meinen Credits drunter, und mit meiner Erlaubnis!
Fangen wir an:
Als erstes brauchen wir entweder
oder 
Achtung: Beide Downloads können etwas Zeit in Anspruch nehmen!
Welches ihr nehmt ist eigentlich egal, nur dass Visual C++ 08 Freeware ist, und Visual Studio 10 nur ne 30 Tage Testversion. Ihr müsstet euch also irgendwo nen Crack o.Ä. raussuchen.
Ich mache dieses Tutorial mit Visual C++ 2010, das kann etwas abweichen, ist im Grunde aber genau das Selbe.
Ihr installiert also eines von beiden, und macht dann so weiter:
-Starten
-Oben Links auf Datei -> Neu -> Projekt
-Win32-Projekt:
-Ihr gebt einen Namen & einen Ordnerpfad an.
-Ihr klickt "OK"
-Weiter:
-DLL
-Leeres Projekt:
-Fertig Stellen
So, nun seht ihr dort, eine Leere "Projektmappe":
Wir brauchen nun, unsere .cpp Datei, in der wir den Hack Coden:
-Wir machen einen Rechtsklick auf "Ressourcendateien" -> "Hinzufügen" -> "Neues Element"
-"C++-Datein(.cpp)"
-Als Namen wählt ihr z.B. Main (Spielt aber keine Rolle!)
Jetzt können wir in der neu erstellten Main.cpp anfangen, den Hack zu coden!
Wir fangen an mit:
PHP Code:
#include <Windows.h>
#include <stdio.h>
PHP Code:
#include <Windows.h>
#include <stdio.h>
#define ADR_PLAYERPOINTER 0xC62388
#define ADR_SERVERPOINTER 0xB5D0F8
Aber wir wollen ja auch richtig Hacken! ich fang einfach mal mit Superjump an. Dafür brauchen wir OFS_Z (Der Offset für die Koordinate Z bzw. die Höhe.) Und OFS_NFD (Wir wollen ja beim Hinfallen nich sofort sterben!)
PHP Code:
#include <Windows.h>
#include <stdio.h>
#define ADR_PLAYERPOINTER 0xC62388
#define ADR_SERVERPOINTER 0xB5D0F8
#define OFS_Z 0x102D8
#define OFS_NFD 0x103A4
Und die Hacks, die mit dem Serverpointer zutun haben, sind In- Und OutGame Aktiv (z.B. 5th Slot Hack)
Also müssen wir dem Hack sozusagen sagen, welcher Pointer für was ist:
PHP Code:
#include <Windows.h>
#include <stdio.h>
#define ADR_PLAYERPOINTER 0xC62388
#define ADR_SERVERPOINTER 0xB5D0F8
#define OFS_Z 0x102D8
#define OFS_NDF 0x103A4
DWORD *ingame = (DWORD*)ADR_PLAYERPOINTER;
DWORD *outgame = (DWORD*)ADR_SERVERPOINTER;
PHP Code:
#include <Windows.h>
#include <stdio.h>
#define ADR_PLAYERPOINTER 0xC62388
#define ADR_PLAYERPOINTER 0xB5D0F8
#define OFS_Z 0x102D8
#define OFS_NDF 0x103A4
DWORD *ingame = (DWORD*)ADR_PLAYERPOINTER;
DWORD *outgame = (DWORD*)ADR_SERVERPOINTER;
void PlayerHacks()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
PHP Code:
void PlayerHacks()
{
PHP Code:
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
PHP Code:
#include <Windows.h>
#include <stdio.h>
#define ADR_PLAYERPOINTER 0xC62388
#define ADR_SERVERPOINTER 0xB5D0F8
#define OFS_Z 0x102D8
#define OFS_NFD 0x103A4
DWORD *ingame = (DWORD*)ADR_PLAYERPOINTER;
DWORD *outgame = (DWORD*)ADR_SERVERPOINTER;
void PlayerHacks()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
//Super Jump
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
*(float*)(dwPlayerPtr + OFS_Z) = 2000;
}
}
PHP Code:
if(GetAsyncKeyState(VK_CONTROL) &1)
Immer wenn ihr Die Taste Control (Ctrl, Strg, Steuerung) drückt, passiert
PHP Code:
{
*(float*)(dwPlayerPtr + OFS_Z) = 2000;
}
Ein Fall aus soeiner Höhe würde euch natürlich sofort umbringen, also brauchen wir nen NFD (NoFallDamage) Hack:
PHP Code:
#include <Windows.h>
#include <stdio.h>
#define ADR_PLAYERPOINTER 0xC62388
#define ADR_SERVERPOINTER 0xB5D0F8
#define OFS_Z 0x102D8
#define OFS_NFD 0x103A4
DWORD *ingame = (DWORD*)ADR_PLAYERPOINTER;
DWORD *outgame = (DWORD*)ADR_SERVERPOINTER;
void PlayerHacks()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
//Super Jump
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
*(float*)(dwPlayerPtr + OFS_Z) = 2000;
}
}
//No Fall Damage
{
*(float*)(dwPlayerPtr + OFS_NFD) = -20000;
}
PHP Code:
{
*(float*)(dwPlayerPtr + OFS_NFD) = -20000;
}
Das wars dann erstmal bei "PlayerHacks",
also müssen wir die Void wieder schließen.
Dafür setzen wir einfach in jede Zeile ein }:
PHP Code:
#include <Windows.h>
#include <stdio.h>
#define ADR_PLAYERPOINTER 0xC62388
#define ADR_SERVERPOINTER 0xB5D0F8
#define OFS_Z 0x102D8
#define OFS_NFD 0x103A4
DWORD *ingame = (DWORD*)ADR_PLAYERPOINTER;
DWORD *outgame = (DWORD*)ADR_SERVERPOINTER;
void PlayerHacks()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
//Super Jump
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
*(float*)(dwPlayerPtr + OFS_Z) = 2000;
}
}
//No Fall Damage
{
*(float*)(dwPlayerPtr + OFS_NFD) = -20000;
}
}
}
Hier nehme ich einfach mal Slot 5-8 und das reicht dann, für dieses Tut
Wir fagen an, wie grade:
PHP Code:
void ServerHacks()
{
DWORD dwSrvrPtr = *(DWORD*)ADR_SERVERPOINTER;
if(dwSrvrPtr != 0)
{
Nun brauchen wir die Slot Addies, die wir ganz oben hinzufügen:
PHP Code:
#include <Windows.h>
#include <stdio.h>
#define ADR_PLAYERPOINTER 0xC62388
#define ADR_SERVERPOINTER 0xB5D0F8
#define OFS_Z 0x102D8
#define OFS_NFD 0x103A4
#define OFS_5SLOT 0x1021A4
#define OFS_6SLOT 0x1021A5
#define OFS_7SLOT 0x1021A6
#define OFS_8SLOT 0x1021A7
DWORD *ingame = (DWORD*)ADR_PLAYERPOINTER;
DWORD *outgame = (DWORD*)ADR_SERVERPOINTER;
void PlayerHacks()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
//Super Jump
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
*(float*)(dwPlayerPtr + OFS_Z) = 2000;
}
}
//No Fall Damage
{
*(float*)(dwPlayerPtr + OFS_NFD) = -20000;
}
}
}
void ServerHacks()
{
DWORD dwSrvrPtr = *(DWORD*)ADR_SERVERPOINTER;
if(dwSrvrPtr != 0)
{
PHP Code:
void ServerHacks()
{
DWORD dwSrvrPtr = *(DWORD*)Addr_Serverpointer;
if(dwSrvrPtr != 0)
{
PHP Code:
void ServerHacks()
{
DWORD dwSrvrPtr = *(DWORD*)ADR_SERVERPOINTER;
if(dwSrvrPtr != 0)
{
//Slot Stuff
//5 Slot
{
*(long*)(dwSrvrPtr + OFS_5SLOT) = 1;
}
//6 Slot
{
*(long*)(dwSrvrPtr + OFS_6SLOT) = 1;
}
//7 Slot
{
*(long*)(dwSrvrPtr + OFS_7SLOT) = 1;
}
//8 Slot
{
*(long*)(dwSrvrPtr + OFS_8SLOT) = 1;
}
}
}
Jetzt fehlt nur noch eines:
Der Schluss des Hacks,
Wenn ihr diesen Teil vergesst, funktioniert euer Hack nicht.
PHP Code:
void HackThread()
{
for(;; )
{
if(*ingame)
{
PlayerHacks();
}
if(*outgame)
{
ServerHacks();
}
}
Sleep( 30 );
}
// End Thread:
BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpvReserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0);
}
return TRUE;
}
PHP Code:
// End Thread:
BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpvReserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0);
}
return TRUE;
}
DLL_PROCESS_ATTACH heißt einfach, dass alles was hiernach noch steht, passiert wenn der Hack injected wird.
Und dann passiert, dass der HackThread aktiviert wird, und in dem steht, dass er regelmäßig, alle 30 Millisekunden, die Funktionen, welche An sind und welche Aus sind abfragt.
Das ist der HackThread:
PHP Code:
void HackThread()
{
for(;; )
{
if(*ingame)
{
PlayerHacks();
}
if(*outgame)
{
ServerHacks();
}
}
Sleep( 30 );
}
Unser ganzer Code sieht nun also so aus:
PHP Code:
#include <Windows.h>
#include <stdio.h>
#define ADR_PLAYERPOINTER 0xC62388
#define ADR_SERVERPOINTER 0xB5D0F8
#define OFS_Z 0x102D8
#define OFS_NFD 0x103A4
#define OFS_5SLOT 0x1021A4
#define OFS_6SLOT 0x1021A5
#define OFS_7SLOT 0x1021A6
#define OFS_8SLOT 0x1021A7
DWORD *ingame = (DWORD*)ADR_PLAYERPOINTER;
DWORD *outgame = (DWORD*)ADR_SERVERPOINTER;
void PlayerHacks()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
//Super Jump
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
*(float*)(dwPlayerPtr + OFS_Z) = 2000;
}
}
//No Fall Damage
{
*(float*)(dwPlayerPtr + OFS_NFD) = -20000;
}
}
}
void ServerHacks()
{
DWORD dwSrvrPtr = *(DWORD*)ADR_SERVERPOINTER;
if(dwSrvrPtr != 0)
{
//Slot Stuff
//5 Slot
{
*(long*)(dwSrvrPtr + OFS_5SLOT) = 1;
}
//6 Slot
{
*(long*)(dwSrvrPtr + OFS_6SLOT) = 1;
}
//7 Slot
{
*(long*)(dwSrvrPtr + OFS_7SLOT) = 1;
}
//8 Slot
{
*(long*)(dwSrvrPtr + OFS_8SLOT) = 1;
}
}
}
void HackThread()
{
for(;; )
{
if(*ingame)
{
PlayerHacks();
}
if(*outgame)
{
ServerHacks();
}
}
Sleep( 30 );
}
BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpvReserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0);
}
return TRUE;
}
Wir müssen nurnoch die Addys austauschen und die DLL "Compilen"
Die Addys bekommt ihr
. Das Compilen geht ganz schnell und einfach mit einem Klick auf "F7"!Ihr wartet einen kleinen Moment, dann sollte ganz unten dies hier stehen:
PHP Code:
========== Erstellen: 1 erfolgreich, Fehler bei 0, 0 aktuell, 0 übersprungen ==========
Ihr öffnet also den Ordner. Und geht in den Unterordner "Debug"
Bei mir ist das:
PHP Code:
C:\Users\Luca\Desktop\War Rock NoMenu\War Rock NoMenu\Debug
Die zieht ihr euch auf den Desktop und benennt einen Injektor in den Namen der DLL um (Einer der Empfehlensten Injektoren im Anhang!)
Ihr öffnet den Injektor (Bei Win Vista und Win 7 als Administrator ausführen!)
Dann startet ihr wie gewohnt War Rock.
Dort seht ihr schonmal, das unser SuperJump funktioniert!
Und da seht ihr, dass die Slot Hacks funktionieren!
================================================== ====
So Codet ihr andere Hacks (No Spread, No Recoil etc.)
Alle Funktionen auf einen Blick:
PHP Code:
void PlayerHacks()
{
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPOINTER;
if(dwPlayerPtr != 0)
{
//Super Jump
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
*(float*)(dwPlayerPtr + OFS_Z) = 2000;
}
}
//No Fall Damage
{
*(float*)(dwPlayerPtr + OFS_NFD) = -20000;
}
//Speed Stuff
//Speed Normal
{
if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF)
{
*(float*)ADR_SPEED = 100.0f;
}
}
//Speed x2
{
if(GetAsyncKeyState(VK_NUMPAD1) &1<< 0xF)
{
*(float*)ADR_SPEED = 150.0f;
}
}
//Speed x3
{
if(GetAsyncKeyState(VK_NUMPAD2) &1<< 0xF)
{
*(float*)ADR_SPEED = 200.0f;
}
}
//Recoil / Spread Stuff
//Recoil
{
*(float*)(dwPlayerPtr + OFS_NORECOIL1) = 0;
*(float*)(dwPlayerPtr + OFS_NORECOIL2) = 0;
*(float*)(dwPlayerPtr + OFS_NORECOIL3) = 0;
}
//Spread
{
*(float*)ADR_NOSPREAD = 0;
}
//Dig
{
if(GetAsyncKeyState(VK_MENU) &1)
{
*(float*)(dwPlayerPtr + OFS_Z) = -2000;
}
}
//Teleport
{
if(GetAsyncKeyState(VK_F2))
{
CoordX = *(float*)(dwPlayerPtr+OFS_X);
CoordY = *(float*)(dwPlayerPtr+OFS_Y);
CoordZ = *(float*)(dwPlayerPtr+OFS_Z);
}
if (GetAsyncKeyState(VK_F3))
{
*(float*)(dwPlayerPtr + OFS_X) = CoordX;
*(float*)(dwPlayerPtr + OFS_Y) = CoordY;
*(float*)(dwPlayerPtr + OFS_Z) = CoordZ;
}
}
//Glass Walls
{
if(GetAsyncKeyState(VK_NUMPAD8) &1)
{
*(int*)ADR_GLASSWALLS = 4;
}
if(GetAsyncKeyState(VK_NUMPAD9) &1)
{
*(int*)ADR_GLASSWALLS = 0;
}
}
//Fast Ammo
{
*(float*)ADR_FASTAMMO = 12.05f;
}
}
}
void ServerHacks()
{
DWORD dwSrvrPtr = *(DWORD*)Addr_Serverpointer;
if(dwSrvrPtr != 0)
{
//Slot Stuff
//5 Slot
{
*(long*)(dwSrvrPtr + OFS_5SLOT) = 1;
}
//6 Slot
{
*(long*)(dwSrvrPtr + OFS_6SLOT) = 1;
}
//7 Slot
{
*(long*)(dwSrvrPtr + OFS_7SLOT) = 1;
}
//8 Slot
{
*(long*)(dwSrvrPtr + OFS_8SLOT) = 1;
}
}
}
Wenn ihr TeleportHack hinzufügt müsst ihr unter eure Addys das hier schreiben:
PHP Code:
float CoordX;
float CoordY;
float CoordZ;

Hoffe, mein Kleines Tut hat euch gefallen.
Thanks sind erwünscht ;D
Wenn ihr mit diesem Tutorial einen Hack codet, gebt meine Credits mit an! Danke! ;D
Wenn Fragen sind, schreibt mir eine PN! Wenn jeder durchnander in den Thread schreibt, geht schnell man was unter.
PHP Code:
Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "stdafx.h"" einzufügen?
Das Buildprotokoll wurde unter ********* gespeichert.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Thread Information:
PHP Code:
18.11.2010 - Addy Update
19.11.2010 - Addy Update
20.11.2010 - Add Teleport Hack Source Code / Add GlassWalls Hack Source Code / Add Fast Ammo Hack Source Code
24.11.2010 - Neue Ankündigung
25.11.2010 - Neue Ankündigung
14.12.2010 - Addy Update / Neue Ankündigung
31.12.2010 - Addy Update
07.01.2011 - Addy Update
16.02.2011 - Inaktiv! Keine Addy Updates mehr
18.02.2011 - Tutorial überarbeitet
15.05.2011 - Neue Ankündigung / [Sammelthread] Addies hinzugefügt
Creditz:
Made by .xD1997™
Thanks To:
CyberRazzer
_-Jimmy-_
Dieses Tutorial ist 100% von mir! Nicht Leechen! Und bitte schreibt nicht einfach alles ein wenig um, und erstellt dann einen neuen Thread! Ein Tutorial reicht doch, oder?
Bitte Spammt den Thread nicht mit Sinnlosem Zeug voll!
Bei Fragen:
PN an mich!






