Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VOID InitializeRandom()
- {
- srand(time(NULL));
- }
- DWORD Random(DWORD Minimum, DWORD Maximum)
- {
- return rand() % (Maximum - Minimum + 1) + Minimum;
- }
- DWORD GenerateCRC(DWORD ConsoleID)
- {
- DWORD _ConsoleID = ConsoleID >> 4;
- DWORD CRC, CNT = 12;
- while(CNT != 0)
- {
- CRC += ((_ConsoleID % 10) & 0xF);
- _ConsoleID /= 10;
- CNT--;
- }
- return (CRC % 10) & 0xF;
- }
- VOID GenerateID(PBYTE ConsoleID, DWORD Year, DWORD Month, BYTE M3, BYTE M4, BYTE M5)
- {
- DWORD Date = ((Month << 12) | (Year << 8) | M3) & 0xFFFFF;
- *ConsoleID += Date << 20;
- *ConsoleID += M4 << 12;
- *ConsoleID += M5 << 4;
- *ConsoleID += GenerateCRC(*ConsoleID);
- }
- VOID XeKeysGetKeyHook(WORD KeyID, PBYTE pbKey, DWORD cbKey)
- {
- XeKeysGenerateRandomKey(0x14, pbKey);
- }
- VOID XeKeysGetConsoleIDHook(PBYTE pbConsoleID, PCHAR szConsoleID)
- {
- GenerateID(pbConsoleID, Random(2006, 2013), Random(1, 12), Random(0, 255), Random(0, 255), Random(0, 255));
- if(szConsoleID != NULL)
- { sprintf(szConsoleID, "%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X", pbConsoleID[0], pbConsoleID[1], pbConsoleID[2], pbConsoleID[3], pbConsoleID[4], pbConsoleID[5], pbConsoleID[6], pbConsoleID[7], pbConsoleID[8], pbConsoleID[9]); }
- }
- int XNetXnAddrToMachineIdHook(XNCALLER_TYPE xnc, XNADDR * pxnaddr, ULONGLONG * MachineId)
- {
- if(XamGetCurrentTitleId() == COD_BLACK_OPS_3)
- {
- srand((unsigned int)time(0));
- *MachineId = 0xFA00000000000000 | (0x2000000 | rand() % 0x7FFFFF);
- return 0;
- }
- return NetDll_XNetXnAddrToMachineId(xnc, pxnaddr, MachineId);
- }
- byte Response[] =
- {
- 0x46, 0x7C, 0x70, 0xB0,
- 0xFC, 0x00, 0x00, 0x00, 0xE6, 0xA5, 0xDD, 0xD1,
- 0xF5, 0xD7, 0xDA, 0xF1, 0x46, 0x21, 0x01, 0x10,
- 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x60,
- 0x03,
- 0x30, 0x31, 0x34, 0x32, 0x36, 0x31, 0x37, 0x39, 0x35, 0x32, 0x30, 0x37, 0x00,
- 0x30, 0x33, 0x32, 0x37, 0x35, 0x38, 0x31, 0x31, 0x33, 0x30, 0x35, 0x35,
- 0x42, 0xFE
- };
- VOID randomizedata()
- {
- BYTE IPAddress[4], MachineId[8], Enet[8], ConsoleKey[13], ConsoleIndex[12], padding0[2], padding1[8];
- for (int i = 0; i < 2; i++)IPAddress = rand() % 90;
- for (int i = 0; i < 2; i++)MachineId = rand() % 90;
- for (int i = 0; i < 1; i++)Enet = rand() % 90;
- for (int i = 0; i < 3; i++)ConsoleIndex = rand() % 90;
- for (int i = 0; i < 3; i++)ConsoleKey = rand() % 90;
- for (int i = 0; i < 2; i++)padding0 = rand() % 90;
- for (int i = 0; i < 8; i++)padding1 = rand() % 90;
- memcpy(Response + 0x2, &IPAddress, 2);
- memcpy(Response + 0x6, &MachineId, 2);
- memcpy(Response + 0x10, &Enet, 1);
- memcpy(Response + 0x29, &ConsoleKey, 3);
- memcpy(Response + 0x33, &ConsoleIndex, 3);
- memcpy(Response + 0x1C, &padding0, 2);
- memcpy(Response + 0x14, &padding1, 8);
- }
- VOID BO3Bypass()
- {
- *(__int64*)0x82332018 = 0x386000014E800020;// TU7/8
- randomizedata();
- PatchInJump((PDWORD)0x82A920F4, (DWORD)XeKeysGetKeyHook, FALSE); // TU7/8
- PatchInJump((PDWORD)0x82A92114, (DWORD)XeKeysGetConsoleIDHook, FALSE); // TU7/8
- PatchInJump((PDWORD)0x82A92A54, (DWORD)XNetXnAddrToMachineIdHook, false); // TU7/8
- *(int *)0x826B81D0 = 0x60000000;// TU7/8
- ////////////////////////
- // Little cheater // TU7/8
- *(int*)0x82610920 = 0x60000000; // Red box 1
- *(int*)0x82610948 = 0x60000000; // Red box 2
- *(int*)0x82279CB8 = 0x60000000; // Recoil
- *(int*)0x8228BC78 = 0x60000000; // UAV
- }
Advertisement
Add Comment
Please, Sign In to add comment