Skip to content
MPGHThe Dark Arts
/
RegisterLog in
Forum
Community
What's NewLatest posts across the boardTrendingHottest threads right nowSubscribedThreads you follow
Discussion
GeneralIntroductionsEntertainmentDebate FortFlaming & Rage
Board
News & AnnouncementsMPGH TimesSuggestions & HelpGiveaways
More Sections
Art & Graphic DesignProgrammingHackingCryptocurrency
Hacks & Cheats
Games
ValorantCS2 / CS:GOCall of Duty / WarzoneFortniteApex LegendsEscape From Tarkov
+14 moreLeague of LegendsGTA VMinecraftRustROTMGBattlefieldTroveBattleOnCombat ArmsCrossFireBlackshotRuneScapeDayZDead by Daylight
Resources
Game Hacking TutorialsReverse EngineeringGeneral Game HackingAnti-CheatConsole Game Hacking
Tools
Game Hacking ToolsTrainers & CheatsHack/Release NewsNew
Submit a release →Share your cheat, tool, or config with the community.
AINEW
AI Tools
General & DiscussionPrompt EngineeringLLM JailbreaksHotAI Agents & AutomationLocal / Open Models
AI × Gaming
AI Aimbots & VisionML Anti-CheatGame Bots & Automation
Create
AI Coding / Vibe CodingAI Art & MediaAI Voice & TTS
The AI frontier →Where game hacking meets modern machine learning. Jump in.
Marketplace
Buy & Sell
SellingBuyingTradingUser Services
Trust & Safety
Middleman LoungeMarketplace TalkVouch Copy Profiles
Money
Cryptocurrency TalkCurrency ExchangeWork & Job Offers
Start selling →List accounts, services, and goods. Use the middleman to trade safe.
MPGH The Dark Arts

A community for offensive security research, reverse engineering, and AI.

Community

ForumMarketplaceSearch

Account

RegisterLog in

Legal

Privacy PolicyForum RulesHelp & FAQ
© 2026 MPGH · All rights reserved.Built by the community, for the community. For educational purposes onlyContent is shared for security research and education — we don't condone illegal use. You're responsible for complying with applicable laws. Use at your own risk.
Home › Forum › Programming › C++/C Programming › C++ Warrock No Menu Hack tutorial (with screens)

Thumbs upC++ Warrock No Menu Hack tutorial (with screens)

Posts 1–13 of 13 · Page 1 of 1
taylan
taylan
C++ Warrock No Menu Hack tutorial (with screens)
Hey all,

I'm going to show you all how to make a NoMenu hack using Visual C++ 2008.


Download Visual C++ 2008 here: Click
+
Select language and press "Download":



Now install and etc. (you have to reboot once)

When installed start "Microsoft Visual C++ 2008 Express Edition"
When fully started up. Go to File >>> New >>> Project


In left menu select "Win32" and than on the right select "Win32 Project" than enter a name and press ok :


Press next, than mark empty project and press "Finish" :




Now, in the left menu your project will appear:

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" :



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



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--------------------------//
Now First you create 2 sections, PlayerHacks and ServerHacks like this:

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

void PlayerHacks() // Start PlayerHacks
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0){



}} //End PlayerHacks

void ServerHacks() // Start ServerHacks
{
DWORD dwSrvrPtr=*(DWORD*)Serverpointer;
if(dwSrvrPtr!=0){



}} //End ServerHacks

//--------------------------End Hacks--------------------------//
Now we can put some hacks in. I'll take, Superjump, No Fall Damage and Visual Premium.

PlayerHacks: Superjump and No Fall Damage.
ServerHacks: Visual Premium.

This is what it should look like:

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

void PlayerHacks() // Start PlayerHacks
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0){

//Superjump

{if(GetAsyncKeyState(VK_CONTROL) &1){
*(float*)(dwPlayerPtr+OFS_Z) = 1000;}}

//End Superjump

//No Fall Damage

{*(float*)(dwPlayerPtr+NFD_Player_OffSet) = -20000;}

//End No Fall Damage

}} //End PlayerHacks

void ServerHacks() // Start ServerHacks
{
DWORD dwSrvrPtr=*(DWORD*)Serverpointer;
if(dwSrvrPtr!=0){

//Visual Platinum Premium | 1220 days or smthing.

{*(long*)(dwSrvrPtr+Premium_OffSet) = 4, 10;{
*(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1;}}

//End Visual Platinum Premium

}} //End ServerHacks

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

OFS_Z, NFD_Player_Offset, Premium_OffSet and OFS_PREMIUM2.

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
#define Premium_OffSet Premium_OffSet addie here
#define OFS_PREMIUM2 OFS_PREMIUM2 addie here
You add those to the "Define Hacks"

Now. We are going to add a hackthread.

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

void HackThread() 
{
for(;; ) 
{
if(*ingame)
{
PlayerHacks();
}
if(*outgame)
{
ServerHacks();
}
}
Sleep(200); //prevent for overloading the cpu
}

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

[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 warc0ck, this makes sure all you have put in the HackThread will be activated to warc0ck 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>
#define Premium_OffSet <Premium_OffSet addie here>
#define OFS_PREMIUM2 <OFS_PREMIUM2 addie here>

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

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

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

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

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

void PlayerHacks() // Start PlayerHacks
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0){

//Superjump

{if(GetAsyncKeyState(VK_CONTROL) &1){
*(float*)(dwPlayerPtr+OFS_Z) = 1000;}}

//End Superjump

//No Fall Damage

{*(float*)(dwPlayerPtr+NFD_Player_OffSet) = -20000;}

//End No Fall Damage

}} //End PlayerHacks

void ServerHacks() // Start ServerHacks
{
DWORD dwSrvrPtr=*(DWORD*)Serverpointer;
if(dwSrvrPtr!=0){

//Visual Platinum Premium | 1220 days or smthing.

{*(long*)(dwSrvrPtr+Premium_OffSet) = 4, 10;{
*(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1;}}

//End Visual Platinum Premium

}} //End ServerHacks

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

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

void HackThread() 
{
for(;; ) 
{
if(*ingame)
{
PlayerHacks();
}
if(*outgame)
{
ServerHacks();
}
}
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
- Scope

All Codes (Sorry some are still writen the old way):

Code:
// Hack Codes \\

//-------------All Server Hacks------------------//

void ServerHacks() // Start ServerHacks
{
DWORD dwSrvrPtr=*(DWORD*)Serverpointer;
if(dwSrvrPtr!=0){

//Fifth Slot
{*(long*)(dwSrvrPtr+Slot5_OffSet) = 1;}

//Visual lvl 100
{*(long*)(dwSrvrPtr+Visual_100)=0x00FD4000;}

//Platinum Premium
{*(long*)(dwSrvrPtr+Premium_OffSet) = 4, 10;{
*(float*)(dwSrvrPtr+OFS_PREMIUM2) = 1, 1;}}

//Super Master
{*(int*)(dwSrvrPtr+Super_Master_OffSet) = 1;}

}} //End Server Hacks

//-------------All Player Hacks------------------//

void PlayerHacks() // Start PlayerHacks
{
DWORD dwPlayerPtr = *(DWORD*)Playerpointer;
if(dwPlayerPtr != 0){


//Speed Roll x2
{	if(GetAsyncKeyState(VK_NUMPAD8) &1<< 0xF){
*(float*)(SpeedRoll) = 2.0f;}}

//Speed Roll x3
{if(GetAsyncKeyState(VK_NUMPAD9) &1<< 0xF){
*(float*)(SpeedRoll) = 3.0f;}}

//Speed Roll Normal
{if(GetAsyncKeyState(VK_NUMPAD7) &1<< 0xF){
*(float*)(SpeedRoll) = 1.0f;}}

//Speed x2
{if(GetAsyncKeyState(VK_NUMPAD1) &1<< 0xF){
*(float*)(Speed) = 200.0f;}}

//Speed x3
{if(GetAsyncKeyState(VK_NUMPAD2) &1<< 0xF){
*(float*)(Speed) = 300.0f;}}

//Speed x5
{if(GetAsyncKeyState(VK_NUMPAD3) &1<< 0xF){
*(float*)(Speed) = 500.0f;}}

//Speed Normal
{if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF){
*(float*)(Speed) = 100.0f;}}

//Superjump
{if(GetAsyncKeyState(VK_CONTROL) &1){
*(float*)(dwPlayerPtr+OFS_Z) = 1000;}}

//Unlimited Stamina
{*(float*)(dwPlayerPtr+Stamina_OffSet) = 100;}

//No Recoil
{*(float*)(dwPlayerPtr+OFS_NORECOIL1) = 0;
*(float*)(dwPlayerPtr+OFS_NORECOIL2) = 0;
*(float*)(dwPlayerPtr+OFS_NORECOIL3) = 0;}

//No Fall Damage
{*(float*)(dwPlayerPtr+NFD_Player_OffSet) = -20000;}

//No Spawn Wait
{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);}

//Teleport
{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;}}

//Fast All
{*(float*)Fast_Repair = 10.0f;
*(float*)Fast_Health = 5.0f;
*(float*)Fast_Flag = 10.0f;
*(float*)Fast_Ammo = 5.0f;}

//Full Bright
{*(int*)(Full_Bright_1) = 1092779973;
*(int*)(Full_Bright_2) = 1092779973;
*(int*)(Full_Bright_3) = 1092779973;}

//No Fog
{*(float*)GlassWalls_FarFog = 1166127104;
*(float*)Near_Fog = 0;}

//No Bounds
*(int*)(No_Bounds_1)=0;*(int*)(No_Bounds_2)=0;

//No Water
*(int*)(ADR_NOWATER)=0;

//Virtual Dig
{if(GetAsyncKeyState(VK_MENU) &1){
*(float*)(dwPlayerPtr+OFS_Z) = -2000;}}

//Extra Ammo A
{*(int*)(Extra_Ammo_1)   = 1;}

//Extra Ammo S
{*(int*)(Extra_Ammo_2)   = 1;}

//No Spread
{*(float*) No_Spread = 0;}

//Scope
{if(GetAsyncKeyState(VK_RBUTTON)){*(int*)(ADR_SCOPE) = 1;}

//Low Gravity
{if (GetAsyncKeyState(VK_MBUTTON)){
*(float*)(dwPlayerPtr+OFS_GRAV) = 100.0f;}}

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

Credits:

Legendary+taylan for making tutorial.
Zeas for descovering this methode.


Allowed to leech, GIVE CREDITS!

contact for questions :taylan-11@hotmail.de
#1 · 16y ago
why06
why06
Well god I hate warrock hacks, but I must admit this is a well put together tutorial even if it reaks of leech, and you did explain a lot of things in a leech-friendly way >_>....

BTW if your reading this lalakiljip if you want to know why people did that here's your explanation:
Code:
//Speed Normal
{if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF){
*(float*)(Speed) = 100.0f;}}
See this guy does a bitwise and and then shifts the bit left 15 places... which is the same thing as just doing & 0x8000 ... which is the same thing as just doing nothing:
Code:
GetAsyncKeyState(VK_NUMPAD0);
So you see it comes from leacher trying to confuse them selves... >_>
#2 · 16y ago
Retoxified
Retoxified
I hate it when the same old crap is posted over and over again by different people.
You don't know how to code, gtfo leecher!

Quote Originally Posted by leechfag
{if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF){
Fail...
#3 · 16y ago
taylan
taylan
thank a lot for this great comment
#4 · 16y ago
Void
Void
Damn, it would be nice if someone could show us how to find the addresses for those features instead. I'd seriously like to know how to find stuff like no recoil without using that "Search for text" feature on olly and just typing in "Recoil" or stuff like that ( I think there's something similar for CoD ). If there isn't, then I'm just stupid..

RAGE!
#5 · 16y ago
radnomguywfq3
radnomguywfq3
Quote Originally Posted by why06 View Post
Well god I hate warrock hacks, but I must admit this is a well put together tutorial even if it reaks of leech, and you did explain a lot of things in a leech-friendly way >_>....

BTW if your reading this lalakiljip if you want to know why people did that here's your explanation:
Code:
//Speed Normal
{if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF){
*(float*)(Speed) = 100.0f;}}
See this guy does a bitwise and and then shifts the bit left 15 places... which is the same thing as just doing & 0x8000 ... which is the same thing as just doing nothing:
Code:
GetAsyncKeyState(VK_NUMPAD0);
So you see it comes from leacher trying to confuse them selves... >_>
GetAsyncKeyState Function ()
"If the most significant bit is set, the key is down"

1<<0xF creates a short bitmask: 1000000000000000 (16 bits(depends on OS btw)).

And ANDs that to the return. Everything other then the most significant bit is masked out. Then the return will be just vary on whether that one bit is set. Anything nonzero is 'true' in C++. Doing it without the bitmask works as well because the return is nonzero when the key is down. But the proper way to do it, is to AND it with a bitmask.

Soh to all those who said the poster failed by ANDing the return with a bitmask, right back at you. You shouldn't troll someone for following the standard because the return may change. And if it does, those who followed the standard are safe.


As far as the code goes, improper naming convention, unnecessary globals, why let macros replace constants? Unmodular design, functions take too many assumptions(especially for functions which aren't in a class or object.) fasdf, I keep seeing the same mistakes in all the code posted here :S.
#6 · edited 16y ago · 16y ago
Matrix_NEO006
Matrix_NEO006
Quote Originally Posted by Davidm44 View Post
Damn, it would be nice if someone could show us how to find the addresses for those features instead. I'd seriously like to know how to find stuff like no recoil without using that "Search for text" feature on olly and just typing in "Recoil" or stuff like that ( I think there's something similar for CoD ). If there isn't, then I'm just stupid..

RAGE!
u need a bypasser first to let your cheat engine modify/search the addies then you have to have some knowledge of CE to find the address and its pointer and backtracing to its base address then put it in this code.the hard part is just to make a bypasser which needs a great knowledge/experience of ASM rest are easy.
#7 · 16y ago
nofallll
nofallll
thanks that is good
________________
to make hack that is not hard but u need to know how to get the codes
#8 · 16y ago
ac1d_buRn
ac1d_buRn
Quote Originally Posted by why06 View Post
Well god I hate warrock hacks, but I must admit this is a well put together tutorial even if it reaks of leech, and you did explain a lot of things in a leech-friendly way >_>....

BTW if your reading this lalakiljip if you want to know why people did that here's your explanation:
Code:
//Speed Normal
{if(GetAsyncKeyState(VK_NUMPAD0) &1<< 0xF){
*(float*)(Speed) = 100.0f;}}
See this guy does a bitwise and and then shifts the bit left 15 places... which is the same thing as just doing & 0x8000 ... which is the same thing as just doing nothing:
Code:
GetAsyncKeyState(VK_NUMPAD0);
So you see it comes from leacher trying to confuse them selves... >_>
bahhaha /ownt
#9 · 16y ago
D3Dh0oker
D3Dh0oker
ill try this, and ill add credits.
#10 · 16y ago
CO
Comet
Thanks I'm gunna make my own warrock hack now
#11 · 16y ago
Houston
Houston
Thansk for tut
#12 · 16y ago
Kuro Tenshi
Kuro Tenshi
OMG THIS STILL WORKS O.o for CAEU this is already fixed a long time ago.
maybe ill go back to Warrock (u got loggers for getting all addies =.= including opk for free.

free vip ftw.

but id rather search my own addies without a logger.
so easy at warrock u can even use CE if u want /./
#13 · 16y ago
Posts 1–13 of 13 · Page 1 of 1

Post a Reply

Similar Threads

  • How To Make Warrock D3d Menu Hack with all hack functionsBy srinuv in Programming Tutorial Requests
    5Last post 16y ago
  • Warrock NO Menu hack working (july 29)By slickick in WarRock - International Hacks
    21Last post 17y ago
  • WARROCK no menu hack. Made by me. FIXEDBy adriafg in WarRock - International Hacks
    6Last post 17y ago
  • warrock pub menu hackBy pur3s0ul2 in WarRock - International Hacks
    29Last post 16y ago
  • warrock pub menu hack chams,wallhack,ectBy pur3s0ul2 in WarRock - International Hacks
    18Last post 16y ago

Tags for this Thread

None