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 › MultiPlayer Game Hacks & Cheats › Call of Duty Hacks & Cheats › Call of Duty 8 - Modern Warfare 3 (MW3) Hacks & Cheats › Call of Duty Modern Warfare 3 Coding, Programming & Source Code › Simple WH Source - 2D Boxes

Simple WH Source - 2D Boxes

Posts 1–15 of 42 · Page 1 of 3
MarkHC
MarkHC
Simple WH Source - 2D Boxes
Well, first of all, this wasn't found by me.. cardoow reversed this a long ago. I just found the new offset...

Anyways.. it's pretty simple. You know those boxes the are shown on enemies when you're on the Reaper, Osprey, etc.? Now you can draw them all the time.

Code:
void FixBlindEye() {

	CClientInfo * pLocal = GetLocalClient(); //Get the Local Client (You)

	for(int i=0; i< 18; i++) {

		CClientInfo * pClient = GetClientByIndex(i);

		if(pClient != pLocal) //If the player is not you...
			if(pClient->Perk & 0x20) //Does the player has Blind Eye on?
				pClient->Perk = 0x0; //Yes? Then, turn it off.
	}
}

void DrawBoxes(){
	DWORD dwCall = 0x5C3760; //Offset for 1.9.453

        //Since this function is called by the game to draw the chopper boxes,
        //by default, it wouldn't draw on players with Blind Eye.. we have to fix that
	FixBlindEye();
	
       //Call our function
	__asm{
		push 0x0
		call [dwCall]
		add esp, 0x4
	}
}
If you want to find the offset for a different version, just search for All References of Client_t+0x38 (Client Perk) on IDA or Olly... and you'll be lead to the function.
Example: On 1.9.453:
Client_t = 0x00AD69F8
0x00AD69F8 + 0x38 = 0xAD6A30 (Search for AD6A30)

PS: You need to hook some render function for this to work, otherwise it'll just crash.
#1 · edited 13y ago · 13y ago
SU
superleecherz
What address does GetLocalClient use? I've been trying to figure out a way to get the local player since it's not always the first one even if you're the host.

Also, I got an access violation at dwCall when I tried to use this. I tried using VirtualProtect as well.

"Unhandled exception at 0x005c3760 in test.exe: 0xC0000005: Access violation."
#2 · edited 13y ago · 13y ago
rawr im a tiger
rawr im a tiger
Or set the flag on IsInGame.
#3 · 13y ago
MarkHC
MarkHC
Quote Originally Posted by superleecherz View Post
What address does GetLocalClient use? I've been trying to figure out a way to get the local player since it's not always the first one even if you're the host.

Also, I got an access violation at dwCall when I tried to use this. I tried using VirtualProtect as well.

"Unhandled exception at 0x005c3760 in test.exe: 0xC0000005: Access violation."
Clients[CG->ClientNum] is the local client. that's what the function returns. And you don't need VirtualProtect. You just need to make sure it isn't callled when you're on the main menu or whatever.. if(IsInGame != 0) Do you stuff...
#4 · 13y ago
RE
reloe
Nice , bro
#5 · 13y ago
SU
superleecherz
Quote Originally Posted by -InSaNe- View Post

Clients[CG->ClientNum] is the local client. that's what the function returns. And you don't need VirtualProtect. You just need to make sure it isn't callled when you're on the main menu or whatever.. if(IsInGame != 0) Do you stuff...
Now the game is crashing after the function gets called like 10 times.

Box flickers for a few seconds in game and crashes.
#6 · edited 13y ago · 13y ago
cardoow
cardoow
just some more info, if(pClient->Perk & 0x20 || pClient->Perk & 0x40)
you also need to use 0x40 cause thats another perks which makes you invisible(forgot the name)

Quote Originally Posted by superleecherz View Post
Now the game is crashing after the function gets called like 10 times.

Box flickers for a few seconds in game and crashes.
you need to call it on a renderthread
#7 · edited 13y ago · 13y ago
Horror
Horror
Quote Originally Posted by cardoow View Post
just some more info, if(pClient->Perk & 0x20 || pClient->Perk & 0x40)
you also need to use 0x40 cause thats another perks which makes you invisible(forgot the name)
This is a killstreak ... Blind Eye is the only one wich keeps u invisible from Killstreaks ...
Assassin is for UAV
#8 · 13y ago
MarkHC
MarkHC
Quote Originally Posted by Isaakske View Post
This is a killstreak ... Blind Eye is the only one wich keeps u invisible from Killstreaks ...
Assassin is for UAV
It's the Spawn protection perk I believe.. just after the enemies spawn, they doesn't have the Box for a few seconds... Its sort of a invisible perk...

EDIT: NVm.. its isn't... not sure what the other perk is either...
#9 · edited 13y ago · 13y ago
luizimloko
luizimloko
@-InSaNe-

you have the GetPlayerByIndex and GetLocalPlayer Function ?

what the name of this adrr ?

Code:
DWORD dwCall = 0x5C3760
#10 · edited 13y ago · 13y ago
MarkHC
MarkHC
Quote Originally Posted by luizimloko View Post
@-InSaNe-

you have the GetPlayerByIndex and GetLocalPlayer Function ?

what the name of this adrr ?

Code:
DWORD dwCall = 0x5C3760
You don't need those function actually.. they're just wrappers... here's how I do it:
Code:
client_t* Clients = ( client_t* )  Offsets.ClientInfo_OFFS;
void cESP::FixBlindEye() { 
	client_t* Local = Clients[CG->ClientNum];

	for(int i = 0; i < 18; i++) {
		if(&Clients[i] != Local) { 
			if(Clients[i].Perk & 0x20 || Clients[i].Perk & 0x40) 
				Clients[i].Perk = 0x0; 
		} 
	} 
}
And I'm not sure about the function name.. but it is the one that draw the boxes when you're on some killstreak...
#11 · 13y ago
luizimloko
luizimloko
Quote Originally Posted by -InSaNe- View Post
You don't need those function actually.. they're just wrappers... here's how I do it:
Code:
client_t* Clients = ( client_t* )  Offsets.ClientInfo_OFFS;
void cESP::FixBlindEye() { 
	client_t* Local = Clients[CG->ClientNum];

	for(int i = 0; i < 18; i++) {
		if(&Clients[i] != Local) { 
			if(Clients[i].Perk & 0x20 || Clients[i].Perk & 0x40) 
				Clients[i].Perk = 0x0; 
		} 
	} 
}
And I'm not sure about the function name.. but it is the one that draw the boxes when you're on some killstreak...
i need of the name of adrr because i updating this for teknogoods
#12 · 13y ago
MarkHC
MarkHC
Quote Originally Posted by luizimloko View Post


i need of the name of adrr because i updating this for teknogoods
I already explained how to find the function for other version...

On IDA:

Search->Text->Find All Occurences And type the client_t address + 0x38

You'll probably get only one result.. that's the function.

Tip: On Tekno the offset starts with 05Axxxxxx
#13 · edited 13y ago · 13y ago
cardoow
cardoow
Quote Originally Posted by -InSaNe- View Post

I already explained how to find the function for other version...

On IDA:

Search->Text->Find All Occurences And type the client_t address + 0x38

You'll probably get only one result.. that's the function.

Tip: On Tekno the offset starts with 05Axxxxxx
Youll get one result and thats the actual function which draws them. I always call a wrapper function
Code:
text:0048CA7A                 push    esi
.text:0048CA7B                 call    sub_5051F0
.text:0048CA80                 add     esp, 4
#14 · 13y ago
barata55
barata55
Quote Originally Posted by -InSaNe- View Post


Tip: On Tekno the offset starts with 05Axxxxxx
You mean: 0x5AA470, .

Thanks Barata...
#15 · 13y ago
Posts 1–15 of 42 · Page 1 of 3

Post a Reply

Similar Threads

  • Simple aimbot source codeBy yusako in Call of Duty Modern Warfare 2 Coding / Programming / Source Code
    23Last post 15y ago
  • CrossFire Simple WallHack SourceBy HLBOT in CrossFire Hack Coding / Programming / Source Code
    34Last post 15y ago
  • Simple BoxesBy Synns in CrossFire Hacks & Cheats
    59Last post 16y ago
  • Simple BF2 hack source with some interesting stuff.By Tyrano in C++/C Programming
    2Last post 17y ago
  • [Virus source] A simple windows exploit.By tednugget in C++/C Programming
    4Last post 18y ago

Tags for this Thread

None