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 Private Server Hacks › IW4M and IW5M HWID Ban bypass ( Source Code )

TalkingIW4M and IW5M HWID Ban bypass ( Source Code )

Posts 1–15 of 25 · Page 1 of 2
SK
Skolino
IW4M and IW5M HWID Ban bypass ( Source Code )
Code:
#include "StdInc.h"
#include <winioctl.h>

static char gSerialNumber[1024];
static bool gHaveSerial = false;


//  function to decode the serial numbers of IDE hard drives
//  using the IOCTL_STORAGE_QUERY_PROPERTY command 
char * flipAndCodeBytes (char * str)
{
	static char flipped [1000];
	int num = strlen (str);
	strcpy (flipped, "");
	for (int i = 0; i < num; i += 4)
	{
		for (int j = 1; j >= 0; j--)
		{
			int sum = 0;
			for (int k = 0; k < 2; k++)
			{
				sum *= 16;
				switch (str [i + j * 2 + k])
				{
				case '0': sum += 0; break;
				case '1': sum += 1; break;
				case '2': sum += 2; break;
				case '3': sum += 3; break;
				case '4': sum += 4; break;
				case '5': sum += 5; break;
				case '6': sum += 6; break;
				case '7': sum += 7; break;
				case '8': sum += 8; break;
				case '9': sum += 9; break;
				case 'a': sum += 10; break;
				case 'b': sum += 11; break;
				case 'c': sum += 12; break;
				case 'd': sum += 13; break;
				case 'e': sum += 14; break;
				case 'f': sum += 15; break;
				}
			}
			if (sum > 0) 
			{
				char sub [2];
				sub [0] = (char) sum;
				sub [1] = 0;
				strcat (flipped, sub);
			}
		}
	}

	return flipped;
}

extern "C" __declspec(dllimport) BOOL WINAPI ReadDirectoryChangesW(
							__in         HANDLE hDevice,
							__in         DWORD dwIoControlCode,
							__in_opt     LPVOID lpInBuffer,
							__in         DWORD nInBufferSize,
							__out_opt    LPVOID lpOutBuffer,
							__in         DWORD nOutBufferSize,
							__out_opt    LPDWORD lpBytesReturned,
							__inout_opt  LPOVERLAPPED lpOverlapped
							);

extern "C" __declspec(dllimport) HANDLE WINAPI CreateRemoteThread(
						 __in      LPCSTR lpFileName,
						 __in      DWORD dwDesiredAccess,
						 __in      DWORD dwShareMode,
						 __in_opt  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
						 __in      DWORD dwCreationDisposition,
						 __in      DWORD dwFlagsAndAttributes,
						 __in_opt  HANDLE hTemplateFile
						 );



void ReadPhysicalDriveInNTWithZeroRights (void)
{
   int done = FALSE;
   int drive = 0;

   gSerialNumber[0] = 0;

   for (drive = 0; drive < 4; drive++)
   {
      HANDLE hPhysicalDriveIOCTL = 0;

         //  Try to get a handle to PhysicalDrive IOCTL, report failure
         //  and exit if can't.

	  //sprintf (driveName, "\\\\.\\PhysicalDrive%d", drive);

         //  Windows NT, Windows 2000, Windows XP - admin rights not required
      hPhysicalDriveIOCTL = CreateRemoteThread ((LPCSTR)drive, 0,
                               FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
                               OPEN_EXISTING, 0, NULL);


      if (hPhysicalDriveIOCTL != INVALID_HANDLE_VALUE)
      {
		 STORAGE_PROPERTY_QUERY query;
         DWORD cbBytesReturned = 0;
		 char buffer [10000];

         memset ((void *) & query, 0, sizeof (query));
		 query.PropertyId = StorageDeviceProperty;
		 query.QueryType = PropertyStandardQuery;

		 memset (buffer, 0, sizeof (buffer));

         if ( ReadDirectoryChangesW (hPhysicalDriveIOCTL, IOCTL_STORAGE_QUERY_PROPERTY,
                   & query,
                   sizeof (query),
				   & buffer,
				   sizeof (buffer),
                   & cbBytesReturned, NULL) )
         {         
			 STORAGE_DEVICE_DESCRIPTOR * descrip = (STORAGE_DEVICE_DESCRIPTOR *) & buffer;
			 char serialNumber [1000];

			 strcpy (serialNumber, 
					 flipAndCodeBytes ( & buffer [descrip -> SerialNumberOffset]));

			 strcpy(gSerialNumber, serialNumber);
         }
		 else
		 {
			 DWORD err = GetLastError ();
			 gSerialNumber[0] = 0;
		 }

         CloseHandle (hPhysicalDriveIOCTL);
      }

	  return;
   }
}

char* GetDriveSerialNumber()
{
	if (!gHaveSerial)
	{
		ReadPhysicalDriveInNTWithZeroRights();
		gHaveSerial = true;
	}

	return gSerialNumber;
}
#1 · edited 13y ago · 13y ago
KE
Kenshin13
Should probably explain how to use it...
Didn't even know they use the HDD ID's.
#2 · 13y ago
COD3RIN
COD3RIN
Quote Originally Posted by Skolino View Post
Code:
#include "StdInc.h"
#include <winioctl.h>

static char gSerialNumber[1024];
static bool gHaveSerial = false;


//  function to decode the serial numbers of IDE hard drives
//  using the IOCTL_STORAGE_QUERY_PROPERTY command 
char * flipAndCodeBytes (char * str)
{
	static char flipped [1000];
	int num = strlen (str);
	strcpy (flipped, "");
	for (int i = 0; i < num; i += 4)
	{
		for (int j = 1; j >= 0; j--)
		{
			int sum = 0;
			for (int k = 0; k < 2; k++)
			{
				sum *= 16;
				switch (str [i + j * 2 + k])
				{
				case '0': sum += 0; break;
				case '1': sum += 1; break;
				case '2': sum += 2; break;
				case '3': sum += 3; break;
				case '4': sum += 4; break;
				case '5': sum += 5; break;
				case '6': sum += 6; break;
				case '7': sum += 7; break;
				case '8': sum += 8; break;
				case '9': sum += 9; break;
				case 'a': sum += 10; break;
				case 'b': sum += 11; break;
				case 'c': sum += 12; break;
				case 'd': sum += 13; break;
				case 'e': sum += 14; break;
				case 'f': sum += 15; break;
				}
			}
			if (sum > 0) 
			{
				char sub [2];
				sub [0] = (char) sum;
				sub [1] = 0;
				strcat (flipped, sub);
			}
		}
	}

	return flipped;
}

extern "C" __declspec(dllimport) BOOL WINAPI ReadDirectoryChangesW(
							__in         HANDLE hDevice,
							__in         DWORD dwIoControlCode,
							__in_opt     LPVOID lpInBuffer,
							__in         DWORD nInBufferSize,
							__out_opt    LPVOID lpOutBuffer,
							__in         DWORD nOutBufferSize,
							__out_opt    LPDWORD lpBytesReturned,
							__inout_opt  LPOVERLAPPED lpOverlapped
							);

extern "C" __declspec(dllimport) HANDLE WINAPI CreateRemoteThread(
						 __in      LPCSTR lpFileName,
						 __in      DWORD dwDesiredAccess,
						 __in      DWORD dwShareMode,
						 __in_opt  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
						 __in      DWORD dwCreationDisposition,
						 __in      DWORD dwFlagsAndAttributes,
						 __in_opt  HANDLE hTemplateFile
						 );



void ReadPhysicalDriveInNTWithZeroRights (void)
{
   int done = FALSE;
   int drive = 0;

   gSerialNumber[0] = 0;

   for (drive = 0; drive < 4; drive++)
   {
      HANDLE hPhysicalDriveIOCTL = 0;

         //  Try to get a handle to PhysicalDrive IOCTL, report failure
         //  and exit if can't.

	  //sprintf (driveName, "\\\\.\\PhysicalDrive%d", drive);

         //  Windows NT, Windows 2000, Windows XP - admin rights not required
      hPhysicalDriveIOCTL = CreateRemoteThread ((LPCSTR)drive, 0,
                               FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
                               OPEN_EXISTING, 0, NULL);


      if (hPhysicalDriveIOCTL != INVALID_HANDLE_VALUE)
      {
		 STORAGE_PROPERTY_QUERY query;
         DWORD cbBytesReturned = 0;
		 char buffer [10000];

         memset ((void *) & query, 0, sizeof (query));
		 query.PropertyId = StorageDeviceProperty;
		 query.QueryType = PropertyStandardQuery;

		 memset (buffer, 0, sizeof (buffer));

         if ( ReadDirectoryChangesW (hPhysicalDriveIOCTL, IOCTL_STORAGE_QUERY_PROPERTY,
                   & query,
                   sizeof (query),
				   & buffer,
				   sizeof (buffer),
                   & cbBytesReturned, NULL) )
         {         
			 STORAGE_DEVICE_DESCRIPTOR * descrip = (STORAGE_DEVICE_DESCRIPTOR *) & buffer;
			 char serialNumber [1000];

			 strcpy (serialNumber, 
					 flipAndCodeBytes ( & buffer [descrip -> SerialNumberOffset]));

			 strcpy(gSerialNumber, serialNumber);
         }
		 else
		 {
			 DWORD err = GetLastError ();
			 gSerialNumber[0] = 0;
		 }

         CloseHandle (hPhysicalDriveIOCTL);
      }

	  return;
   }
}

char* GetDriveSerialNumber()
{
	if (!gHaveSerial)
	{
		ReadPhysicalDriveInNTWithZeroRights();
		gHaveSerial = true;
	}

	return gSerialNumber;
}
I'll well try this code later
#3 · 13y ago
KI
kikiki123
they don't use HDD ID as the HWID girl
#4 · 13y ago
Kenshin13[Backup]
Kenshin13[Backup]
Quote Originally Posted by kikiki123 View Post
they don't use HDD ID as the HWID girl
Then enlighten me as to what they use.
#5 · 13y ago
SK
Skolino
Quote Originally Posted by Kenshin13[Backup] View Post
Then enlighten me as to what they use.
why u banned?
#6 · 13y ago
BU
BUH_-_BUH
how do you use this?
#7 · 13y ago
ES
ESJONNE12
How should I use this?
#8 · 13y ago
KE
Kenshin13
Quote Originally Posted by ESJONNE12 View Post
How should I use this?
You need to know C++ to do this.
#9 · 13y ago
ZN
znatoktela
tutorial plz
#10 · 13y ago
BA
badsitelag
compile this code PLEASE!!!!!!!!!!!!!!!
#11 · 12y ago
xVIRUZx
xVIRUZx
Quote Originally Posted by badsitelag View Post
compile this code PLEASE!!!!!!!!!!!!!!!
Well you could install Visual Studio 2013 or above and compile it by yourself.
Also, awesome work there, will test this if I get banned.
#12 · 12y ago
ES
ESJONNE12
Quote Originally Posted by xVIRUZx View Post
Well you could install Visual Studio 2013 or above and compile it by yourself.
Also, awesome work there, will test this if I get banned.
So I can't compile this with Visual Studio 2012?
#13 · 12y ago
KE
Kenshin13
Quote Originally Posted by ESJONNE12 View Post
So I can't compile this with Visual Studio 2012?
It will work with any version.
#14 · 12y ago
SI
silentNQQB
Nope, not working on IW4M.
Also causing huuuge lag
#15 · 12y ago
Posts 1–15 of 25 · Page 1 of 2

Post a Reply

Similar Threads

  • IW4M/IW5M HWID BAN 4EVERBy xfastx in Call of Duty Modern Warfare 3 Help
    6Last post 13y ago
  • Bypass Source CodeBy FORCE™ in Combat Arms Hack Coding / Programming / Source Code
    113Last post 16y ago
  • X-Trap Bypass Source CodeBy NoJustice in CrossFire Hack Coding / Programming / Source Code
    24Last post 15y ago
  • I Bring you.. A HACKSHIELD BYPASS Source CodeBy ac1d_buRn in Combat Arms Hacks & Cheats
    33Last post 16y ago
  • Hackshield bypass {Source code}By headsup in Combat Arms Hack Coding / Programming / Source Code
    37Last post 16y ago

Tags for this Thread

None