[TUT]No Menue Hack erstellen

11/30/2009 08:11 .NET Pasch22#1
//Warning//
//Achtung//

You have got to have some basic C++ knowledge!
Du brauchst ein wenig Wissen inC++ um das hier zu machen ;)


Hey all,
Hey ihr,


I'm going to show you all how to make a NoMenu hack using Visual C++ 2008.
Download Visual C++ 2008 here: [Only registered and activated users can see links. Click Here To Register...]
Ich zeige euch mal ,wie ihr ein NoMenü Hack in Visual C++ 2008 macht.
Download Visual C++ 2008 hier: [Only registered and activated users can see links. Click Here To Register...]


Select language and press "Download"
Wähl deine Sprache aus und drück "Download" [Only registered and activated users can see links. Click Here To Register...]


Now install and etc. (you have to reboot once)
Jetzt installiere das Programm, etc. (mach ein Neustart am ende =D )


When installed start "Microsoft Visual C++ 2008 Express Edition" :
Wenn du es installiert hast starte C++:
[Only registered and activated users can see links. Click Here To Register...]


When fully started up. Go to File >>> New >>> Project :
Wenn du es gestartet hast erstelle ein neues Projekt ( Datei>Neu>Neues Projekt)


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


In left menu select "Win32" and than on the right select "Win32 Project" than enter a name and press ok :
Wähle im linken Men Win32 und dann wähle rechts Win32 Project.
Tipp den Namen ein und akzeptiere:

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


Press next, than mark empty project and press "Finish" :
Drück Weiter und dann makiere ein leeres Projekt und drücke Ende:

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


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


Now, in the left menu your project will appear:
Dann kommt an der linken Seite ein Menü

Solution 'NoMenuLegendary' (1 project)
- NoMenuLegendary
* Header Files
* Resource Files
* Source Files

To start the base of the NoMenu hack, right click on the folder "Source Files" and than "Add" >>> "New Item" :
Mach ein rechtsklick und drück hinzufügen > neues Element


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


Now in the menu that shows up, click on "C++ File (.ccp)" and than enter name (example: "main") than pres "Add":
[Übersetzung folgt...]


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

Now a blank document will appear.

This is where the real NoMenu hack building starts ;).

We start off defining some windows stuff:

Code:
#include <windows.h>
#include <stdio.h>
Than we are going to define our hacks ;):

Code:
//--------------------------Define Hacks--------------------------//

#define Playerpointer <Playerpointer addie here>
#define Serverpointer <Serverpointer addie here>

//--------------------------End Define Addies--------------------------//
These are just the basic addies that you will allways need.

(by the way, what // does is: It makes it not include in the hack so you won't recieve errors for this.
It's most used to remember things for if you watch back later and you're like WTH did I do ;p.

Beneath the addies define something for the "HackThread" <<< I will tell more about what this does later.

Code:
//--------------------------Define HackThread--------------------------//

DWORD *ingame= (DWORD*)Playerpointer;
DWORD *outgame= (DWORD*)Serverpointer;

//--------------------------End Define HackThread--------------------------//
After this you can start off adding hacks to your NoMenu. For example I'll take SuperJump and NoFallDamage.

Code:
//--------------------------Start Hacks--------------------------//

void superjump () //super jump
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_Z) = 1000;
}
}
}

void nfd () //NFD
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+NFD_Player_OffSet) = -20000;
}
}

//--------------------------End Hacks--------------------------//
You see that there are 2 adresses we don't know yet.

OFS_Z and NFD_Player_Offset.

So what we have to do is define those aswell.

Code:
#define OFS_Z <OFS_Z addie here>
#define NFD_Player_OffSet <NFD addie here>
You add those to the "Define Hacks"

Now. We are going to add a hackthread.

Code:
//-------------------------HackThread--------------------------//

void HackThread() 
{
for(;; ) 
{
if(*ingame)
{
superjump();
nfd();
}
if(*outgame)
{

}
}
Sleep(200); //prevent for overloading the cpu
}

//--------------------------End HackThread--------------------------//
You see I included the hacks "superjump" and "nfd".[/color]

[q] What does a HackThread do?
[a] It includes the hacks you have added to your NoMenu hack. When you don't add them in the hackthread they will NOT work ingame.

[q] Why is there an ingame and outgame?
[a] The ingame is for Playerhacks like stamina, superjump, no fall damage etc. The outgame is for Serverhacks like Premium, Extra slot, Supermaster etc.

The end of the hack:

Code:
//--------------------------End--------------------------//

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;
}
}

//--------------------------End--------------------------//

[q] What does this do?
[a] When you inject to WarRock, this makes sure all you have put in the HackThread will be activated to WarRock so it actually works. Alot of people forget to include Hackthread and say: "My hack doesn't work!".

In the end it should look like this:

Code:
#include <windows.h>
#include <stdio.h>

//--------------------------Define Hacks--------------------------//

#define Playerpointer <Playerpointer addie here>
#define Serverpointer <Serverpointer addie here>
#define OFS_Z <OFS_Z addie here>
#define NFD_Player_OffSet <NFD addie here>

//--------------------------End Define Addies--------------------------//

//--------------------------Define HackThread--------------------------//

DWORD *ingame= (DWORD*)Playerpointer;
DWORD *outgame= (DWORD*)Serverpointer;

//--------------------------End Define HackThread--------------------------//

//--------------------------Start Hacks--------------------------//

void superjump () //super jump
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_Z) = 1000;
}
}
}

void nfd () //NFD
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+NFD_Player_OffSet) = -20000;
}
}

//--------------------------End Hacks--------------------------//

//-------------------------HackThread--------------------------//

void HackThread() 
{
for(;; ) 
{
if(*ingame)
{
superjump();
nfd();
}
if(*outgame)
{

}
}
Sleep(200); //prevent for overloading the cpu
}

//--------------------------End HackThread--------------------------//

//--------------------------End--------------------------//

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;
}
} 

//--------------------------End--------------------------//
Now after this is done, Press F7 or go to top menu: "Build" >>> "Build Solution (F7)".

Beneath it will say of you still have errors. If it says succeeded but warnings just ignore the warnings ;).

In that window of text, there will be something like:

1>Build log was saved at "file://c:\Users\Secret\Documents\Visual Studio 2008\Projects\NoMenuLegendary\Debug\BuildLog.htm"

Look up: c:\Users\Secret\Documents\Visual Studio 2008\Projects\NoMenuLegendary\Debug (in my case)

And you will find your dll in there ;).

All hacks that DON"T need bypass:

- SuperJump
- No Fall Damage
- Virtual Dig
- No spread
- No water
- No bounds
- No recoil
- Stamina
- Speed
- No fog
- Fullbright
- Fast all (fast ammo, fast health, fast repair, fast flag)
- Teleport
- No spawn
- Fifth slot
- Premium
- Supermaster
- Extra clip Assault
- Extra clip Sniper
- Low Gravity



Other Hotkeys and Source Codes

//Low Gravity :: Hotkey = Middle mousebutton
Code:
void lowgravity ()
{
if (GetAsyncKeyState(VK_MBUTTON)) //hotkey is middel mouse buttom
     {
DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPTR;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_GRAV) = 100.0f;
}
}
}
//5th Slot
Code:
void Slots5 ()
{
DWORD dwPlayerPtr = *(DWORD*)Serverpointer;
if(dwPlayerPtr != 0)
{    
*(long*)(dwPlayerPtr+Slot5_OffSet) = 1;
}
}
//No Spread
Code:
void spread () //no spread
{
*(float*) No_Spread = 0;
}
//Extra Clip A/S
Code:
void ExtraAmmo ()        //we want extrea clip allways =)
    {
        *(int*)(Extra_Ammo_1)   = 1;
    }
 
void ExtraAmmo2 ()        //we want extrea clip allways =)
    {
        *(int*)(Extra_Ammo_2)   = 1;
    }
//Virtual Dig :: Hotkey = Alt
Code:
void Dig()
{
if(GetAsyncKeyState(VK_MENU) &1)
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_Z) = -2000;
}
}
}
//No Water
Code:
void nowater () //no water
{
long t=0;
unsigned long Protection;
VirtualProtect((void*)No_Water, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)No_Water, &t , sizeof(t));
VirtualProtect((void*)No_Water, sizeof(t), Protection, 0);
}
//No Bounds
Code:
void nobounds () //nobounds
{
long t=0;
unsigned long Protection;
VirtualProtect((void*)No_Bounds_2, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)No_Bounds_2, &t , sizeof(t));
VirtualProtect((void*)No_Bounds_2, sizeof(t), Protection, 0);
 
VirtualProtect((void*)No_Bounds_2, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)No_Bounds_2, &t , sizeof(t));
VirtualProtect((void*)No_Bounds_2, sizeof(t), Protection, 0);
}
//No Fall Damage
Code:
void nfd () //NFD
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+NFD_Player_OffSet) = -20000;
}
}
//No Recoil
Code:
void norecoil () //norecoil
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_NORECOIL1) = 0;
*(float*)(dwPlayerPtr+OFS_NORECOIL2) = 0;
*(float*)(dwPlayerPtr+OFS_NORECOIL3) = 0;
}
}
//Stamina: Stealth
Code:
void stamina () //stamina
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+Stamina_OffSet) = 30;
}
}
//Stamina: Full
Code:
void stamina () //stamina
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+Stamina_OffSet) = 100;
}
}
//Super Jump // 1000 ft. :: Hotkey= Control Button
Code:
void jump () //super jump
{
if(GetAsyncKeyState(VK_CONTROL) &1)
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFS_Z) = 1000;
}
}
}
//Speed Normal :: Hotkey = Numpad 0
Code:
void speedoff ()
{
    if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF)
{
*(float*)(Speed) = 100.0f;
}
}
//Speed x5 :: Hotkey = Numpad 3
Code:
void speedon3 ()
{
    if(GetAsyncKeyState(VK_NUMPAD3) &1<< 0xF)
{
*(float*)(Speed) = 500.0f;
}
}
//Speed x3 :: Hotkey = Numpad 2
Code:
void speedon2 ()
{
    if(GetAsyncKeyState(VK_NUMPAD2) &1<< 0xF)
{
*(float*)(Speed) = 300.0f;
}
}
//Speed x2 :: Hotkey = Numpad 1
Code:
void speedon1 ()
{
    if(GetAsyncKeyState(VK_NUMPAD1) &1<< 0xF)
{
*(float*)(Speed) = 200.0f;
}
}
//No Fog
Code:
void nofog () //no fog
{
*(float*)GlassWalls_FarFog = 1166127104;//far fog address
*(float*)Near_Fog = 0; //nearfog addres
}
//Full Bright
Code:
void fullbright () //fullbright
{
*(int*)(Full_Bright_1) = 1092779973;
*(int*)(Full_Bright_2) = 1092779973;
*(int*)(Full_Bright_3) = 1092779973;
}
//Fast F/A/H/R
Code:
void FastAll ()
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0)
{
*(float*)Fast_Repair = 10.0f;
*(float*)Fast_Health = 5.0f;
*(float*)Fast_Flag = 10.0f;
*(float*)Fast_Ammo = 5.0f;
}}
//Teleport :: Hotkey= Numper Pad 5
Code:
void Teleport ()
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;   /// Player Pointer Addie
if(dwPlayerPtr != 0)
{
float PositionY = 0.0; float PositionX = 0.0;float PositionZ = 0.0;
    PositionX = *(float*)(dwPlayerPtr + OFS_X);
    PositionY = *(float*)(dwPlayerPtr + OFS_Y);
    PositionZ = *(float*)(dwPlayerPtr + OFS_Z);
  if(GetAsyncKeyState(VK_NUMPAD5)&1){
        Telx = PositionX;
        Tely = PositionY;
        Telz = PositionZ;}
  if(GetAsyncKeyState(VK_NUMPAD4)&1){
        *(float*)(dwPlayerPtr + OFS_X) = Telx;
        *(float*)(dwPlayerPtr + OFS_Y) = Tely;
        *(float*)(dwPlayerPtr + OFS_Z) = Telz;}
  if(GetAsyncKeyState(VK_NUMPAD6)&1){
      *(float*)(dwPlayerPtr + OFS_X) += 30;}}}
//Quick Spawn
Code:
void Spawn ()
{
long t=0;
unsigned long Protection;
VirtualProtect((void*)ADR_QUICKSPAWN1, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_QUICKSPAWN1, &t , sizeof(t));
VirtualProtect((void*)ADR_QUICKSPAWN1, sizeof(t), Protection, 0);
 
VirtualProtect((void*)ADR_QUICKSPAWN2, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)ADR_QUICKSPAWN2, &t , sizeof(t));
VirtualProtect((void*)ADR_QUICKSPAWN2, sizeof(t), Protection, 0);
}
//SuperMaster
Code:
void Supermaster ()
{
DWORD dwSrvrPtr = *(DWORD*)Serverpointer;
if(dwSrvrPtr != 0){
*(int*)(dwSrvrPtr+Super_Master_OffSet) = 1;
}
}
//Bronze Premium
Code:
void bronze() //Bronze Premium
{
DWORD dwSrvrPtr = *(DWORD*)Serverpointer;
if(dwSrvrPtr != 0)
{
*(long*)(dwSrvrPtr+Premium_OffSet) = 1, 10; // 1 = bronze  2 = silver 3 = gold 4 = platinum
{
*(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1;
}}}
//Silver Premium
Code:
void silver() //SilverPremium
{
DWORD dwSrvrPtr = *(DWORD*)Serverpointer;
if(dwSrvrPtr != 0)
{
*(long*)(dwSrvrPtr+Premium_OffSet) = 2, 10; // 1 = bronze  2 = silver 3 = gold 4 = platinum
{
*(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1;
}}}
//Gold Premium
Code:
void gold() //Gold Premium
{
DWORD dwSrvrPtr = *(DWORD*)Serverpointer;
if(dwSrvrPtr != 0)
{
*(long*)(dwSrvrPtr+Premium_OffSet) = 3, 10; // 1 = bronze  2 = silver 3 = gold 4 = platinum
{
*(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1;
}}}
//Platinum Premium
Code:
void platinum () //Platinum Premium
{
DWORD dwSrvrPtr = *(DWORD*)Serverpointer;
if(dwSrvrPtr != 0)
{
*(long*)(dwSrvrPtr+Premium_OffSet) = 4, 10; // 1 = bronze  2 = silver 3 = gold 4 = platinum
{
*(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1;
}}}
//HOTKEYS
Code:
VK_LBUTTON -- Left mouse button
VK_RBUTTON --Right mouse button
VK_CANCEL -- Control-break processing
VK_MBUTTON -- Middle mouse button (three-button mouse)
VK_BACK -- BACKSPACE key
VK_TAB -- TAB key
VK_CLEAR -- CLEAR key
VK_RETURN -- ENTER key
VK_SHIFT -- SHIFT key
VK_CONTROL -- CTRL key
VK_MENU -- ALT key
VK_PAUSE -- PAUSE key
VK_CAPITAL -- CAPS LOCK key
VK_ESCAPE -- ESC key
VK_SPACE -- SPACEBAR
VK_PRIOR -- PAGE UP key
VK_NEXT -- PAGE DOWN key
VK_END -- END key
VK_HOME -- HOME key
VK_LEFT -- LEFT ARROW key
VK_UP -- UP ARROW key
VK_RIGHT -- RIGHT ARROW key
VK_DOWN -- DOWN ARROW key
VK_SELECT -- SELECT key
VK_PRINT -- PRINT key
VK_EXECUTE -- EXECUTE key
VK_SNAPSHOT -- PRINT SCREEN key
VK_INSERT -- INS key
VK_DELETE -- DEL key
VK_HELP -- HELP key










Well, this was about it. When I know more of something I forgot or something than I'll add it.

Credits:

Legendary for making tutorial.
Zeas for descovering this methode.
Fresh_Maker for sharing to FPS
Pasch22
Bmw;2418
11/30/2009 17:22 Gogetan#2
Nice
I give you a thx ;)
11/30/2009 17:44 Xatar™#3
Kannst du posten, wie das alles mit DEV-C++ geht ??
Can you post how to do this with DEV-C++??

Danke
Thanks
11/30/2009 19:37 .NET Pasch22#4
Ich denke das geht auch mit dev ++ ^^
musste halt gucken ob du ne dll machen kannst ;)
12/03/2009 20:15 emilsan12#5
hab ne frage ist das alles kostenlos?
12/03/2009 21:28 KS-K#6
@ emislan junge na klar ist des kostenlos aber wenn du dich nicht auskennst lass es lieber!
12/04/2009 17:47 Timpro10#7
kann mir jemand sagen, wie man die sprache von c++ auf englisch stellt?
12/04/2009 18:02 Jan²#8
Quote:
Originally Posted by KS-K View Post
@ emislan junge na klar ist des kostenlos aber wenn du dich nicht auskennst lass es lieber!
naja..mit 65 beiträgen und nix inner sig..du bist bestimmt n hamma pro...also sag sowas nicht! so ein tut is dazu da, um es anfägern zu zeigen, wie es geht..wenn du es kannst: hgw!
lg janni
12/04/2009 19:12 xodiak#9
Mit einem Viedeo TuT were es um einiges leichter für dich da musstest du nicht so viel tippen oder die scrrens reinposten und für die leute wo sich den hack machen wollen^^ dann sehen sie wie du das machst^^
12/04/2009 19:31 vornameadolf#10
ok jetzt ne bisschen dumme frage, sry :)
hab mir das runtergeladen, und alles halt in einem ordner installiert, ich bin i-wie blind und finde die ausführungsdatei nicht, also wie ich das programm öffne xDDDDDD
sagt ma welches das ist, also in welchem der ordner genau usw. :D
thx^^
12/04/2009 19:44 eragor#11
gebs einfach bei suchen ein dan durchsucht dein pc ja alle ordner und so
12/04/2009 20:06 vornameadolf#12
ja dann finde ich nur wieder alle ordner und nicht die ausführung, ich will gerne genau wissen wo es ist
12/04/2009 22:34 .NET Pasch22#13
guck unter programme da steht dann Microssoft c++ oda so^^

ich kanns nicht sagen ich hab visual studios expert premium edititon
12/04/2009 22:55 vornameadolf#14
ist das kostenlos?
bzw ohne prem kostenlos?
wenn ja schick ma link per pm pls :)
12/04/2009 23:10 .NET Pasch22#15
steht ganz weit oben im ersten post