Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include "XBLExtinctionConfig.h"
- #include "Utilities.h"
- #include "titleHooks.h"
- #include "SystemHooks.h"
- #include "ServComm.h"
- #include "PatchData.h"
- #include <xbdm.h>
- #include <time.h>
- #include "AW.h"
- #include "BO2_game.h"
- #include "MSP.h"
- #include "HUD.h"
- #include "BO3Menu.h"
- #include "MSP.h"
- //extern _SERVER_GET_CUSTOM_RESPONCE cData;
- extern HANDLE hXam;
- extern BOOL IsDevkit;
- extern BOOL dashLoaded;
- extern HANDLE dllHandle;
- MESSAGEBOX_RESULT g_mb_result;
- XOVERLAPPED g_xol;
- DWORD nop = 0x60000000;
- DWORD other = 0x38600001;
- extern DWORD ApplyPatches(CHAR* FilePath, const VOID* DefaultPatches = NULL);
- extern void printBytes(PBYTE bytes, DWORD len);
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- VOID __cdecl APCWorker(void* Arg1, void* Arg2, void* Arg3) {
- // Call our completion routine if we have one
- if (Arg2)
- ((LPOVERLAPPED_COMPLETION_ROUTINE)Arg2)((DWORD)Arg3, 0, (LPOVERLAPPED)Arg1);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- extern "C" VOID KeSweepIcacheRange(PVOID Address, DWORD cbBytes);
- VOID ApplyPatchData(PBYTE pBuffer, DWORD dwLength) {
- PDWORD pdwData = (PDWORD)pBuffer;
- // Sanity check
- if (pdwData[(dwLength / 4) - 1] != -1) {
- return;
- }
- while (TRUE) {
- DWORD dwAddress = *pdwData++;
- if (dwAddress == -1)
- break;
- DWORD dwPatchCount = *pdwData++;
- for (DWORD i = 0; i < dwPatchCount; i++) {
- DWORD dwAddrToPatch = dwAddress + (i * 4);
- *(DWORD*)(dwAddrToPatch) = *pdwData++;
- }
- KeSweepIcacheRange((PVOID)dwAddress, dwPatchCount * 4);
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- extern BOOL mspSpoofEnabled;//////////////////////////////////
- BOOL hasMSPSpoofed = FALSE;/////////////////////////////////
- BOOL mspSpoofEnabled = false;/////////////////////////////
- void MSPSpoof() {
- MESSAGEBOX_RESULT msppSpoofResult;
- XOVERLAPPED msppSpoofOverlapped;
- LPCWSTR msppSpoofButtons[2] = { L"Yes", L"No" };
- //if (wcscmp(ModuleHandle->BaseDllName.Buffer, L"Guide.MP.Purchase.xex") == 0) {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - MSP Spoofing", L"We are about to spoof your Microsoft Points. If the content you're about to download is free, please select No so that it can download successfully.\n\nWould you like to spoof your Microsoft Points?", ARRAYSIZE(msppSpoofButtons), msppSpoofButtons, 0, XMB_ALERTICON, &msppSpoofResult, &msppSpoofOverlapped);
- msppSpoofResult.dwButtonPressed = -1;
- Sleep(1000);
- int tickedamnt = 0;
- while (msppSpoofResult.dwButtonPressed == -1) {
- tickedamnt++;
- if (tickedamnt > 350)
- msppSpoofResult.dwButtonPressed = 0;
- Sleep(100);
- }
- switch (msppSpoofResult.dwButtonPressed) {
- case 0: // Yes*/
- if (mspSpoofEnabled) {
- hasMSPSpoofed = TRUE;
- ApplyPatchData(PATCH_DATA_KXAM_MSPOINTS_RETAIL, 64);
- ApplyPatchData(PATCH_DATA_MPPURCHASE_MSPOINTS_RETAIL, 0x1C);
- XNotifyUI(L"XBLRevolution: MSP Spoofing Successful!");
- }
- else
- {
- ApplyPatchData(PATCH_DATA_KXAM_MSPOINTS_RETAIL_EMPTY, 64);
- ApplyPatchData(PATCH_DATA_MPPURCHASE_MSPOINTS_RETAIL_EMPTY, 0x1C);
- XNotifyUI(L"XBLRevolution: MSP Spoofing is Disabled!");
- }
- break;
- default:
- case 1: // No
- XNotifyUI(L"XBLRevolution: Microsoft Points were not spoofed!");
- break;
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- DWORD XSecurityCreateProcessHook(DWORD dwHardwareThread)
- {
- return ERROR_SUCCESS;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- unsigned long XeXGetModuleHandleHook(char* ModuleName)
- {
- if (strcmp(ModuleName, "xbdm.xex") == 0)
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- VOID XSecurityCloseProcessHook() {}
- DWORD XSecurityVerifyHook(DWORD dwMilliseconds, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) {
- // Queue our completion routine
- if (lpCompletionRoutine)
- NtQueueApcThread((HANDLE)-2, (PIO_APC_ROUTINE)APCWorker, lpOverlapped, (PIO_STATUS_BLOCK)lpCompletionRoutine, 0);
- // All done
- return ERROR_SUCCESS;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- DWORD XSecurityGetFailureInfoHook(PXSECURITY_FAILURE_INFORMATION pFailureInformation)
- {
- if (pFailureInformation->dwSize != 0x18) return ERROR_NOT_ENOUGH_MEMORY;
- pFailureInformation->dwBlocksChecked = 0;
- pFailureInformation->dwFailedReads = 0;
- pFailureInformation->dwFailedHashes = 0;
- pFailureInformation->dwTotalBlocks = 0;
- pFailureInformation->fComplete = TRUE;
- return ERROR_SUCCESS;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- DWORD XexGetProcedureAddressHook(HANDLE hand, DWORD dwOrdinal, PVOID* pvAddress)
- {
- if (hand == hXam) {
- switch (dwOrdinal) {
- case 0x9BB:
- *pvAddress = XSecurityCreateProcessHook;
- return 0;
- case 0x9BC:
- *pvAddress = XSecurityCloseProcessHook;
- return 0;
- case 0x9BD:
- *pvAddress = XSecurityVerifyHook;
- return 0;
- case 0x9BE:
- *pvAddress = XSecurityGetFailureInfoHook;
- return 0;
- }
- }
- //DbgPrint("XexGetProcedureAddressHook [pvAddress]: 0x%p", pvAddress);
- return XexGetProcedureAddress(hand, dwOrdinal, pvAddress);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- unsigned long XeKeysGetKeyHook(unsigned short key, unsigned char* buffer, PDWORD len)
- {
- if (key == 0x14)
- {
- srand((unsigned int)time(0));
- for (int i = 0x00; i < 0xC; i++) buffer[i] = rand() % 0x7F;
- return 0L;
- }
- return XeKeysGetKey(key, buffer, len);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- int XNetXnAddrToMachineIdHookBO2(XNCALLER_TYPE xnc, XNADDR pxnaddr, unsigned long long MachineId)
- {
- srand((unsigned int)time(0));
- MachineId = 0xFA00000000000000 | (0x2000000 | rand() % 0x7FFFFF);
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- inline __declspec() bool Live_GetConsoleDetailsSavestubGhosts(bool alwaysTrue, unsigned char internalIP[4], unsigned char onlineIP[4], unsigned long long *machineIDH, unsigned long long *null, unsigned long long *enet)
- {
- __asm
- {
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- blr
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- bool Live_GetConsoleDetailsHookGhosts(bool alwaysTrue, unsigned char internalIP[4], unsigned char externalIP[4], unsigned long long * machineIDH, unsigned long long * machineIDL, unsigned long long *enet)
- {
- srand(time(0));
- int iTargetAddress = 0;
- __asm mflr iTargetAddress
- if (iTargetAddress == 0x82627564 || iTargetAddress == 0x82628888)
- {
- for (int i = 0; i < 4; i++) { internalIP[i] = rand() % 0xFF; externalIP[i] = rand() % 0xFF; }
- *enet = 0x001DD8000000 | rand() % 0x7FFFFF;
- return true;
- }
- return Live_GetConsoleDetailsSavestubGhosts(alwaysTrue, internalIP, externalIP, machineIDH, machineIDL, enet);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- HRESULT XeKeysGetConsoleIDHook(PBYTE databuffer OPTIONAL, char* szBuffer OPTIONAL) {
- XE_CONSOLE_ID consoleID;
- XeKeysGetConsoleID((PBYTE)&consoleID, NULL);
- XUSER_SIGNIN_INFO userInfo;
- XamUserGetSigninInfo(0, XUSER_GET_SIGNIN_INFO_ONLINE_XUID_ONLY, &userInfo);
- BYTE gamertagSha[0x10];
- XeCryptSha((PBYTE)userInfo.szUserName, strlen(userInfo.szUserName), NULL, NULL, NULL, NULL, gamertagSha, 0x10);
- consoleID.asBits.MacIndex3 = gamertagSha[0];
- consoleID.asBits.MacIndex4 = gamertagSha[1];
- consoleID.asBits.MacIndex5 = gamertagSha[2];
- SetMemory(databuffer, &consoleID, 0x5);
- return ERROR_SUCCESS;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- int NetDll_XNetXnAddrToMachineIdHook(XNCALLER_TYPE xnc, XNADDR * pxnaddr, ULONGLONG * pqwMachineId) {
- int rett = NetDll_XNetXnAddrToMachineId(xnc, pxnaddr, pqwMachineId);
- XUSER_SIGNIN_INFO userInfo;
- XamUserGetSigninInfo(0, XUSER_GET_SIGNIN_INFO_ONLINE_XUID_ONLY, &userInfo);
- BYTE gamertagSha[0x10];
- XeCryptSha((PBYTE)userInfo.szUserName, strlen(userInfo.szUserName), NULL, NULL, NULL, NULL, gamertagSha, 0x10);
- SetMemory(pqwMachineId + 5, gamertagSha, 0x3);
- return rett;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- int XNetXnAddrToMachineIdHook(XNCALLER_TYPE xnc, XNADDR* pxnaddr, unsigned long long* qwMachineId)
- {
- srand((unsigned int)time(0));
- *qwMachineId = 0xFA00000002000000 | (0x2000000 | rand() % 0x7FFFFF);
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- inline __declspec() bool Live_GetConsoleDetailsSavestub(unsigned char internalIP[4], unsigned char onlineIP[4], unsigned long long *machineIDH, unsigned long long *null, unsigned long long *enet)
- {
- __asm
- {
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- blr
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- bool Live_GetConsoleDetailsHookAW(unsigned char internalIP[4], unsigned char onlineIP[4], unsigned long long *machineIDH, unsigned long long *null, unsigned long long *enet)
- {
- srand(time(0));
- int iTargetAddress = 0;
- __asm mflr iTargetAddress
- if (iTargetAddress == 0x822C9FF8 || iTargetAddress == 0x822C9908)
- {
- for (int i = 0; i < 4; i++)
- {
- internalIP[i] = rand() % 0xFF; onlineIP[i] = rand() % 0xFF;
- }
- *enet = 0x001DD8000000 | rand() % 0x7FFFFF;
- return true;
- }
- return Live_GetConsoleDetailsSavestub(internalIP, onlineIP, machineIDH, null, enet);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- HRESULT XNetLogonGetMachineIDHook(QWORD* machineID) {
- QWORD machID = 0;
- HRESULT rett = XNetLogonGetMachineID(&machID);
- XUSER_SIGNIN_INFO userInfo;
- XamUserGetSigninInfo(0, XUSER_GET_SIGNIN_INFO_ONLINE_XUID_ONLY, &userInfo);
- BYTE gamertagSha[0x10];
- XeCryptSha((PBYTE)userInfo.szUserName, strlen(userInfo.szUserName), NULL, NULL, NULL, NULL, gamertagSha, 0x10);
- SetMemory(machineID + 5, gamertagSha, 0x3);
- return rett;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- typedef HRESULT(*pXamInputGetState)(QWORD r3, QWORD r4, QWORD r5);
- pXamInputGetState XamInputGetState = (pXamInputGetState)ResolveFunction(NAME_XAM, 401);
- static BOOL isFrozen = FALSE;
- HRESULT XamInputGetStateHook(QWORD r3, QWORD r4, QWORD r5) {
- if (isFrozen) {
- return 0;
- }
- HRESULT ret = XamInputGetState(r3, r4, r5);
- return ret;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- static DWORD lastTitleID = 0;
- BYTE NOP[] = { 0x60, 0x00, 0x00, 0x00 };
- BYTE Branch[] = { 0x48, 0x00 };
- BYTE DOLONG[] = { 0x89, 0x21, 0x00, 0x50, 0x60, 0x00, 0x00, 0x00 };
- BYTE TEST[] = { 0x61, 0x49, 0x00, 0x00 };
- BYTE GHOSTS_LASER[] = { 0x38, 0x60, 0x00, 0x01 };
- BYTE GHOSTS_UAV[] = { 0x3B, 0x60, 0x00, 0x01 };
- BYTE BO2_WALL[] = { 0x34, 0xC0, 0xFF, 0xFF };
- BYTE AW_ENABLER[] = { 0x39, 0x60, 0x00, 0x00 };
- BYTE AW_ENABLER2[] = { 0x38, 0xC0, 0x00, 0x03 };
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons5[2] = { L"Modifications", L"Original Game" };
- BYTE datamw2[4] = { 0x38, 0xC0, 0x01, 0x0F };
- DWORD WINAPI MW2_Go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: MW2", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n----------------\nNo Recoil= ON!\nLazer= ON!\nUAV= ON!\nRedbox= ON!\nCG Player= ON!", 2, Buttons5, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0) {
- *(int*)0x82104093 = other; //lazer
- *(byte *)0x82104093 = 1; //TU8 -> Modern Warfare 2
- *(byte *)0x820F4233 = 1; //TU8 -> Modern Warfare 2
- *(byte *)0x82135BE3 = 0; //TU8 -> Modern Warfare 2
- *(byte*)0x82104093 = 1; //TU8 -> Modern Warfare 2
- memcpy((void*)0x821123A4, &datamw2, 4);//CG_Player
- //(0, "set g_compassshowenemies 1;set activeaction \"g_compassshowenemies 1;scr_game_forceuav 1;set activeaction \\\"g_compassshowenemies 1;scr_game_forceuav 1;set activeaction g_compassshowenemies 1\\\"\"");
- XNotifyUI(L"COD: MW2 - Modifications Enabled");
- return 0;
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- unsigned long XexGetModuleHandleHook(char* ModuleName) {
- if (strcmp(ModuleName, "xbdm.xex") == 0) {
- DbgPrint("Returned XBDM as 0");
- return 0;
- }
- else return (unsigned long)GetModuleHandle(ModuleName);
- }
- /*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);
- }*/
- LPCWSTR Buttons10[3] = { L"Modifications", L"Original Game", L"ModMenu with Aimbot" };
- DWORD WINAPI BO3_go(LPVOID lpParam)
- {
- XNotifyUI(L"COD: BO3 - Bypass Enabled!");
- while (XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: BO3", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n----------------\nNoRecoil= ON!\nRedboxes= ON!\nNoSway= OFF!\nUAV= ON!\nSmallCrosshairs= OFF!\n\n\nBO3ModMenu= ON!\n", 3, Buttons10, 0, XMB_ALERTICON, &g_mb_result, &g_xol) == ERROR_ACCESS_DENIED) Sleep(500);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0)
- {
- //*(int*)0x826D8E4C = other; //No Recoil //TU8==0x826D8E4C or --------> 0x82279CB8
- //*(int*)0x82610920 = other; //RedBoxes 1 //TU8==0x82610920
- //*(int*)0x82610948 = other; //RedBoxes 2 //TU8==0x82610948
- ////*(int*)0x82201008 = other; //NoSway //TU8==0x82201008
- //*(int*)0x8228BC78 = other; //UAV //TU8==0x8228BC78
- //*(int*)0x82099FA8 = other; //Crosshairs //TU8==0x82099FA8
- *(int*)0x82610920 = 0x60000000; // Red box 1
- *(int*)0x82610948 = 0x60000000; // Red box 2
- *(int*)0x82279CB8 = 0x60000000; // Recoil
- *(int*)0x8228BC78 = 0x60000000; // UAV
- XNotifyUI(L"COD: BO3 - Modifications Enabled");
- }
- else if (g_mb_result.dwButtonPressed == 1)
- {
- //nothing
- }
- else if (g_mb_result.dwButtonPressed == 2)
- {
- DoBO3Menu();
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons0[2] = { L"Modifications", L"Original Game" };
- BYTE bo2chams[4] = { 0x38, 0xC0, 0xFF, 0xFF };
- BYTE bo2lazer[4] = { 0x2B, 0xB, 0x00, 0x1 };
- BYTE bo2esp1[4] = { 0x39, 0x40, 0xFF, 0xFF };
- BYTE bo2esp2[4] = { 0x3A, 0xE0, 0x0, 0x2 };
- BYTE bo2esp3[4] = { 0x3A, 0xE0, 0x0, 0x2 };
- BYTE bo2esp4[4] = { 0x40, 0x9A, 0x0, 0x18 };
- BYTE bo2esp5[4] = { 0x40, 0x9A, 0x0, 0x10 };
- //BYTE bo2force[] = { 0, "party_connectToOthers 00; partyMigrate_disabled 01; sv_endGameIfISuck 0; badhost_endgameifisuck 0; set allowAllNAT 1" };
- DWORD WINAPI BO2_go(LPVOID lpParam)
- {
- XNotifyUI(L"COD: BO2 - Bypass Enabled!");
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: BO2", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n------------------------------------\nRedboxes= ON! UAV= ON!\nNo Recoil= ON! LagMeter= ON!\nForceHost= OFF! Chams= OFF!\nLaser= ON! ShowHost= OFF!\nRemove Probation= ON!\nPartyChatAnywhere= ON!\nRemoveColdBlood= ON!\n ", 2, Buttons0, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0) {
- *(int*)0x821f5b7c = 0x38600001; //Redboxes
- *(int*)0x82259BC8 = 0x38600001; //No Recoil
- *(int*)0x821B8FD0 = 0x2b110001; //UAV
- *(int*)0x821F608C = nop;//Remove Cold Blood
- *(int*)0x825C536C = nop;//remove probation
- *(int*)0x825DCA68 = nop;//party chat anywhere
- *(int*)0x821C5567 = other;//lag meter
- memcpy((void*)0x821FC04C, &bo2lazer, 4);//Lazer
- memcpy((void*)0x821FC04C, &bo2chams, 4);//chams
- //memcpy((void*)0x824015E0, &bo2force, 4);//ForceHost
- memcpy((void*)0x821C42F8, &bo2esp1, 4);//ESP Names
- memcpy((void*)0x821C4CDC, &bo2esp2, 4);//ESP Names
- memcpy((void*)0x821C44A0, &bo2esp3, 4);//ESP Names
- memcpy((void*)0x821C47EC, &bo2esp4, 4);//ESP Names
- memcpy((void*)0x821C42FC, &bo2esp5, 4);//ESP Names
- *(int*)0x821FC04C = 0x38c0ffff; //Wallhack
- *(int*)0x821B8FD3 = other; //V-SAT<<new
- *(int*)0x82254810 = other; // NoSpread1
- *(int*)0x821C7234 = other; // NoSpread2
- *(int*)0x826C6E6C = other; // WeaponSway
- //Show players through walls:
- //0x000834D0 -> 38 C0 FF FF
- XNotifyUI(L"COD: BO2 - Modifications Enabled");
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons4[2] = { L"Modifications", L"Original Game" };
- BYTE MW3_WH[] = { 0x42, 0x20, 0x00, 0x00 };
- BYTE MW3_BOXES[] = { 0x41, 0x9A, 0x00, 0x12 };
- BYTE MW3_UAV[] = { 0x3B, 0x80, 0x00, 0x01 };
- BYTE MW3_RECOIL[] = { 0x60, 0x00, 0x00, 0x00 };
- BYTE MW3_LASER[] = { 0x2F, 0x10, 0x00, 0x01 };
- BYTE MW3_CH[] = { 0x3B, 0x80, 0x00, 0x01 };
- BYTE SMALL_C[] = { 0x80, 0x70, 0x00, 0x00 };
- DWORD WINAPI MW3_Go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: MW3", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n----------------\nRedbox= ON!\nNo Recoil= ON!\nLazer= ON!\nUAV= ON!\nWalhack= ON!", 2, Buttons4, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0) {
- *(int*)0x821154A4 = other; //Redboxes
- *(int*)0x8210E58C = other; //UAV A
- *(int*)0x8215A2C0 = other; //Lazer
- *(int*)0x82001B7C = other; //Walhack
- *(int*)0x821614D4 = other; //No Recoil
- SetMemory((PVOID)0x82000B68, SMALL_C, 4);//Small Croshairs
- *(int*)0x82001B7C = 0x42200000;
- *(int*)0x821154A4 = 0x60000000;
- *(int*)0x8210E58C = 0x3B800001;
- *(int*)0x821614D4 = 0x60000000;
- *(int*)0x8215A2C0 = 0x2F100001;
- XNotifyUI(L"COD: MW3 - Modifications Enabled");
- return 0;
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- void GTA5Menu() {
- //const size_t menu_size = 0x0;
- //const char *file = "HDD:\\dl02";
- //if (CWriteFile(file, cData.GTA5UI, menu_size) == TRUE) {
- // XexLoadImage(file, 8, NULL, NULL);
- // remove(file);
- //}
- }
- LPCWSTR Buttons19[2] = { L"Modifications", L"Original Game" };
- DWORD WINAPI GTA5_go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - GTA: 5", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\Modifications\n----------------\nGTAV Menu= OFF!\n", 2, Buttons19, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0)
- {
- XNotifyUI(L"GTA: 5 Menu Downloading!");
- XNotifyUI(L"GTA: 5 - Modifications Enabled!");
- GTA5Menu();
- }
- XNotifyUI(L"GTA: 5 - Bypass Enabled");
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons20[2] = { L"Modifications", L"Original Game" };
- DWORD WINAPI GTA4_go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - GTA: 4", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\Modifications\n----------------\nHealth= OFF!\nArmor= OFF!\n", 2, Buttons20, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0)
- {
- //reader.Position = &HD132
- //Health.Text = reader.ReadSingle().ToString //Health
- //=========
- //reader.Position = &HD136
- //Armor.Text = reader.ReadSingle().ToString //Armor
- XNotifyUI(L"GTA: 4 - Modifications Enabled!");
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons26[2] = { L"Modifications", L"Original Game" };
- DWORD WINAPI HaloR_go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - Halo: Reach", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\Modifications\n----------------\nAimbot= ON!\nRapidFire= ON!\nSuperSpeed= ON!\nSuperJump= ON!\n", 2, Buttons26, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0)
- {
- *(int*)0x824DCD80 = 0xC01E030C;//Aimbot
- *(int*)0x824DCDB0 = 0xED090032;//Aimbot
- *(int*)0x824DCD7C = 0x3D608201;//Aimbot
- *(int*)0x823B9D60 = 0xC16B00A8;//RapidFire
- *(int*)0x8213D85F = 0x20;//SuperSpeed
- *(int*)0x82419A54 = 0xC3FD0558;//SuperJump
- XNotifyUI(L"Halo: Reach - Modifications Enabled!");
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons21[2] = { L"Modifications", L"Original Game" };
- DWORD WINAPI CodClasic_go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: Classic", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n----------------\n", 2, Buttons21, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0)
- {
- XNotifyUI(L"COD: Classic - Modifications Enabled!");
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons22[2] = { L"Modifications", L"Original Game" };
- DWORD WINAPI Cod3_go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: 3", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n----------------\n", 2, Buttons22, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0)
- {
- XNotifyUI(L"COD: 3 - Modifications Enabled!");
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons23[2] = { L"Modifications", L"Original Game" };
- DWORD WINAPI Cod2_go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: 2", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n----------------\n", 2, Buttons23, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0)
- {
- XNotifyUI(L"COD: 2 - Modifications Enabled!");
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons6[2] = { L"Modifications", L"Original Game" };
- //BYTE waw1[4] = { -1, 0, "s \"loc_warnings\"0" };
- //BYTE waw2[4] = { -1, 0, "s \"r_specularmap\"2" };
- //BYTE waw3[4] = { -1, 0, "s \"r_znear\"45" };
- //BYTE waw4[4] = { -1, 0, "s \"g_compassshowenemies\"1" };
- //BYTE waw5[4] = { -1, 0, "s \"perk_weapReloadMultiplier\"0.001" };
- //BYTE waw6[4] = { -1, 0, "s \"aim_autoaim_lerp\"100" };
- //BYTE waw7[4] = { -1, 0, "s \"laserForceOn\"1" };
- //BYTE waw8[4] = { -1, 0, "s \"player_burstFireCooldown\"0" };
- DWORD WINAPI COD5_Go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: WAW", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n----------------\nLazer= ON!\nUAV= ON!\n+ A Lot More!", 2, Buttons6, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0) {
- //*(int*)0x011c0bb7 = other; //GodMode
- *(int*)0x821A0BFC = 0x60000000;
- *(int*)0x8215C7E4 = 0x60000000;
- *(int*)0x821A00C0 = 0x60000000;
- *(int*)0x8214789C = 0x60000000;
- *(int*)0x8214804C = 0x60000000;
- *(int*)0x821548A4 = 0x3B800001;
- //////////////////////////////////////////////////////////////////////////
- //memcpy((void*)0x82254940, &waw1, 4);
- //memcpy((void*)0x82254940, &waw2, 4);
- //memcpy((void*)0x82254940, &waw3, 4);
- //memcpy((void*)0x82254940, &waw4, 4);
- //memcpy((void*)0x82254940, &waw5, 4);
- //memcpy((void*)0x82254940, &waw6, 4);
- //memcpy((void*)0x82254940, &waw7, 4);
- //memcpy((void*)0x82254940, &waw8, 4);
- XNotifyUI(L"COD: WAW - Modifications Enabled");
- return 0;
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- bool Live_GetConsoleDetailsHook(unsigned char internalIP[4], unsigned char onlineIP[4], unsigned long long *machineIDH, unsigned long long *null, unsigned long long *enet) {
- srand(time(0));
- int iTargetAddress = 0;
- __asm mflr iTargetAddress
- if (iTargetAddress == 0X822EC08C || iTargetAddress == 0X822EB7C4) {
- for (int i = 0; i < 4; i++) {
- internalIP[i] = rand() % 0xFF; onlineIP[i] = rand() % 0xFF;
- }
- *enet = 0x001DD8000000 | rand() % 0x7FFFFF;
- return true;
- }
- return Live_GetConsoleDetailsSavestub(internalIP, onlineIP, machineIDH, null, enet);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons7[2] = { L"Modifications", L"Original Game" };
- DWORD WINAPI COD4_Go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: 4", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n----------------\nLazer= ON!\nUAV= ON!\nRedBox= ON!\nWallhack= ON!\n+ A Lot More", 2, Buttons7, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0) {
- *(int*)0x822EDAA0 = 0x60000000;
- *(int*)0x822ECE14 = 0x60000000;
- *(int*)0x82319514 = 0x60000000;
- *(int*)0x8233048C = 0x60000000;
- *(int*)0x8233169C = 0x60000000;
- *(int*)0x823225C8 = 0x3B400001;
- //////////////////////////////////////////////////////////////////////////
- *(int*)0x821ffe30, 0, -1, "v cg_laserforceon 1";
- *(int*)0x821ffe30, 0, -1, "v g_compassShowEnemies 1 scr_force_gameuav 1";
- *(int*)0x821ffe30, 0, -1, "v r_znear 35";
- *(int*)0x821ffe30, 0, -1, "v aim_lockon_debug 1 aim_lockon_region_height 1 aim_lockon_region_width 1 cg_enemyNameFadeOut 900000 cg_enemyNameFadeIn 0 cg_drawThroughWalls 1 cg_drawShellshock 0 cg_Shellshock 0";
- XNotifyUI(L"COD: 4 - Modifications Enabled");
- return 0;
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons8[2] = { L"Modifications", L"Original Game" };
- DWORD WINAPI BO1_Go(LPVOID lpParam)
- {
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: BO1", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n----------------\nRedbox= ON!\nBlackbird= ON!\n+ More!", 2, Buttons8, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0) {
- //*(int*)0x821A819F = other; //Redbox
- //*(int*)0x821DA22B = other; //Blackbird
- *(int*)0x82227624 = 0x60000000;
- *(int*)0x8232786C = 0x60000000;
- *(int*)0x821B7C04 = 0x60000000;
- *(int*)0x82195200 = 0x60000000;
- *(int*)0x82195D1C = 0x60000000;
- *(int*)0x821A819C = 0x2B0B0001;
- XNotifyUI(L"COD: BO1 - Modifications Enabled");
- return 0;
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- void Ghost() {
- *(PDWORD)0x8267680 = 0x4800;
- *(PDWORD)0x826276CC = 0x36800000;
- *(int*)0x826276E0 = 0x60000000;
- *(int*)0x826276D4 = 0x60000000;
- XNotifyUI(L"XBLRevolution - Ghost Bypassed [TU17] Enabled!");
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- BYTE Challenge[] = { // Challenge using random data // Using Full Challenge resp clean
- 0x00, 0x00, 0x00, 0x00, //IPAddress
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //Machine ID
- 0x00, 0x1D, 0xD8, //macCheck
- 0x00, 0x00, 0x00, //abEnet
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x82, //Unknown
- 0x12, //Retail Flag
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //Console Serial
- 0x00, //Padding
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //Console ID
- 0x41, 0x74, //Kernel Version
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A //Sizeof(Challenge)
- };
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- VOID GHOSTS_RandomizeData() {
- srand(time(NULL));
- BYTE IPAddress[4], MachineID[8], abEnet[3], ConsoleSerialNumber[12], ConsoleID[12];
- for (int i = 0; i < 4; i++) { IPAddress[i] = rand() % 90; }
- for (int i = 0; i < 3; i++) { abEnet[i] = rand() % 90; }
- for (int i = 0; i < 8; i++) { MachineID[i] = rand() % 90; }
- for (int i = 0; i < 12; i++) { ConsoleSerialNumber[i] = rand() % 90; ConsoleID[i] = rand() % 90; }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- inline __declspec() INT answerChallenges(__int64 r3, __int64 r4, DWORD ChallengeResponse) {
- __asm {
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- blr
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- void answerChallengesHook(__int64 r3, __int64 r4, DWORD ChallengeResponse) { // r3, r4, r5 --> ChallengeResponse is the third argument (r5).
- // Set our Random Data
- memcpy((PVOID)(ChallengeResponse + 0x1E), &Challenge, sizeof(Challenge));
- // return r3, r4 and r5
- answerChallenges(r3, r4, ChallengeResponse);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- inline __declspec() bool Live_GetConsoleDetailsSavestubGhost(bool alwaysTrue, unsigned char internalIP[4], unsigned char onlineIP[4], unsigned long long machineIDH, unsigned long long null, unsigned long long *enet)
- {
- __asm
- {
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- blr
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- typedef struct _ACStruct {
- BYTE OnlineIP[4]; //0x00-0x04 (Randomize)
- QWORD MachineId; //0x04-0x0C (Randomize)
- BYTE Enet; //0x0C-0x12 (Randomize)
- SHORT Padding1; //0x12-0x14 (0x0000)
- FLOAT fUnknown[2]; //0x14-0x1C (fUnknown[0] = *(float*)(0x849F6630); fUnknown[1] = *(float*)(0x849F6634);)
- SHORT sUnknown; //0x1C-0x1E (sUnknown = ((*(int*)0x8466D5DC) >> 10);)
- BYTE RetailFlag; //0x1E-0x1F (0x3)
- CHAR ConsoleSerial[0xC]; //0x1F-0x2B (Randomize)
- CHAR Padding2; //0x2B-0x2C (0x00)
- CHAR ConsoleId[0xC]; //0x2C-0x38 (Randomize)
- SHORT KernalVersion; //0x38-0x3A (0x42FE)
- } ACStruct, *PAW_RESP;
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- BYTE IPAddress[4], ConsoleSerial[12], ConsoleIndex[12];
- BYTE MachineId[] = { 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
- BYTE Enet[] = { 0x00, 0x1D, 0xD8, 0x00, 0x00, 0x00 };
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- DWORD GhostsBypassHook(int Unknown, int Anticheat, int StructPointer)
- {
- GHOSTS_RandomizeData();
- short shUnknown; float flUnknown[2];
- ACStruct* Response = (ACStruct*)malloc(0x3A);
- memset((void*)(StructPointer + 0x26), 0, 0x3A);
- unsigned long Data = *(int*)(0x842A1DA8);
- shUnknown = (Data << 16 | Data >> 16);
- flUnknown[0] = *(float*)(0x8452FD14);
- flUnknown[1] = *(float*)(0x8452FD18);
- memcpy(&Response->OnlineIP, IPAddress, 4);
- memcpy(&Response->MachineId, MachineId, 8);
- memcpy(&Response->Enet, Enet, 6);
- Response->Padding1 = 0x0000;
- memcpy(&Response->fUnknown, flUnknown, 8);
- Response->sUnknown = shUnknown;
- Response->RetailFlag = 0x03;
- memcpy(&Response->ConsoleSerial, ConsoleSerial, 12);
- Response->Padding2 = 0x00;
- memcpy(&Response->ConsoleId, ConsoleIndex, 12);
- Response->KernalVersion = 0x42FE;
- memcpy((void*)(StructPointer + 0x26), Response, 0x3A);
- return answerChallenges(Unknown, Anticheat, StructPointer);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- bool Live_GetConsoleDetailsHookGhost(bool alwaysTrue, unsigned char internalIP[4], unsigned char onlineIP[4], unsigned long long machineIDH, unsigned long long null, unsigned long long *enet)
- {
- srand(time(0));
- int iTargetAddress = 0;
- __asm mflr iTargetAddress
- if (iTargetAddress == 0X822EC08C || iTargetAddress == 0X822EB7C4) {
- for (int i = 0; i < 4; i++) {
- internalIP[i] = rand() % 0xFF; onlineIP[i] = rand() % 0xFF;
- }
- *enet = 0x001DD8000000 | rand() % 0x7FFFFF;
- return true;
- }
- return Live_GetConsoleDetailsSavestubGhost(alwaysTrue, internalIP, onlineIP, machineIDH, null, enet);
- }
- __declspec() bool Live_GetConsoleDetailsSavestub1(bool alwaysTrue, unsigned char internalIP[4], unsigned char onlineIP[4], unsigned long long *machineIDH, unsigned long long *null, unsigned long long *enet) {
- __asm {
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- blr
- }
- }
- bool Live_GetConsoleDetailsHookG(bool alwaysTrue, unsigned char internalIP[4], unsigned char onlineIP[4], unsigned long long *machineIDH, unsigned long long *null, unsigned long long *enet) {
- srand(time(0));
- int iTargetAddress = 0;
- __asm mflr iTargetAddress
- if (iTargetAddress == 0x82627564 || iTargetAddress == 0x82628888) { //cmpwi r3, 0
- for (int i = 0; i < 4; i++) {
- internalIP[i] = rand() % 0xFF; onlineIP[i] = rand() % 0xFF;
- }
- *enet = 0x001DD8000000 | rand() % 0x7FFFFF;
- return true;
- }
- return Live_GetConsoleDetailsSavestub1(alwaysTrue, internalIP, onlineIP, machineIDH, null, enet);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- BYTE dataghost[4] = { 0x38, 0xC0, 0x00, 0x07 };
- BYTE dataghost2[4] = { 0x60, 0x00, 0x00, 0x00 };
- BYTE dataghostno[4] = { 0x60, 0x00, 0x00, 0x00 };
- LPCWSTR Buttons1[2] = { L"Modifications", L"Original Game" };
- DWORD WINAPI Ghosts_Go(LPVOID lpParam) {
- XNotifyUI(L"COD: Ghosts - Bypass Enabled!");
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: Ghosts", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n----------------\nRedbox= ON!\nNo Recoil= ON!\nLazer= ON!\nUAV= ON!", 2, Buttons1, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0) {
- *(int*)0x8226D2B4 = nop; //RedBox
- *(int*)0x8227F198 = other; //Lazer
- *(int*)0x8226539B = other; //UAV1
- *(int*)0x82265793 = other; //UAV2
- *(int*)0x822657FF = other; //UAV3
- memcpy((void*)0x82290494, &dataghost, 4);//CG_Player
- memcpy((void*)0x82673240, &dataghost2, 4);//ChromePlayers
- memcpy((void*)0x822C9344, &dataghostno, 4);//No Recoil
- XNotifyUI(L"COD: Ghosts - Modifications Enabled");
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- LPCWSTR Buttons3[3] = { L"Modifications", L"Original Game", L"Aimbot" };
- DWORD AW_ChamCycle;
- typedef enum _AW_RenderFlag : BYTE
- {
- OUTLINE_BLACK = 2,
- OUTLINE_RED = 4,
- OUTLINE_GREEN = 6,
- OUTLINE_CYAN = 8,
- OUTLINE_ORANGE = 10,
- OUTLINE_YELLOW = 12,
- OUTLINE_BLUE = 14,
- HIGHLIGHT_BLACK = 16,
- HIGHLIGHT_RED = 18,
- HIGHLIGHT_HOT = 20,
- HIGHLIGHT_GREEN = 22,
- HIGHLIGHT_CYAN = 24,
- HIGHLIGHT_ORANGE = 26,
- HIGHLIGHT_YELLOW = 28,
- HIGHLIGHT_BLUE = 30,
- } AW_RenderFlag;
- bool aimbotInitialized = false;
- DWORD AW_Aimbot(DWORD r3, int r4, PXINPUT_STATE r5)
- {
- VOID DoAwMenu();
- return XInputGetState(r3, r5);
- }
- DWORD WINAPI AW_go(LPVOID lpParam)
- {
- XNotifyUI(L"COD: AW - Bypass Enabled");
- XShowMessageBoxUI(XUSER_INDEX_ANY, L"XBLRevolution - COD: AW", L"XBLRevolution Mods -\nPlease Select A Cheat Option\n\nModifications\n----------------\nRedbox= ON!\nNo Recoil= ON!\nUAV= ON!\nFPS= OFF!\nRainbow Chams= ON!\n\n\nAimBot= ON!", 3, Buttons3, 0, XMB_ALERTICON, &g_mb_result, &g_xol);
- while (!XHasOverlappedIoCompleted(&g_xol)) Sleep(500);
- if (g_mb_result.dwButtonPressed == 0)
- {
- *(int*)0x82648CEC = nop; //no recoil
- *(int*)0x8262FB0C = nop; //Redbox
- //*(int*)0x823884FC = other; //FPS
- *(int*)0x826352A4 = other; //UAV1
- *(int*)0x826352A8 = other; //UAV2
- *(int*)0x826352AC = other; //UAV3
- *(int*)0x826352B0 = other; //UAV4
- *(int*)0x8260659C = 0x38C00005;//Outline1 Person TU5 //TU17==0x8260659C
- *(int*)0x82626B4C = 0x38C0000F;//Outline2 Gun TU5 //TU17==0x82626B4C
- *(int*)0x8235A61C = 0x60000000;//CG_DrawFriendlyNames TU5 //TU17==0x8235A61C
- *(int*)0x8261FE80 = 0x60000000;//CG_DrawCrosshairNames TU5 //TU17==0x8261FE80
- *(int*)0x8274AF60 = 0x60000000;//CG_DrawOverheadNames TU5 //TU17==0x8274AF60
- *(int*)0x824E84E4 = nop;//Run before game
- *(int*)0x8260659C = nop;//Chams
- *(int*)0x82626F6C = nop;//Wepon Out Line
- *(int*)0x820659D8 = nop;//Croshairs
- *(int*)0x826476A0 = nop;//Croshairs2
- *(int*)0x8262DF68 = nop;//ESP
- *(int*)0x8262E638 = nop;//ESP
- *(int*)0x826347C0 = nop;//ESP
- // Cycle chams
- AW_ChamCycle++;
- if (AW_ChamCycle == 1) *(DWORD*)0x825D22A0 = (0x38C00000 | AW_RenderFlag::OUTLINE_BLACK); //TU: 9 //TU: 17 0x825D22A0 //////stfs f13, 0x100+var_7C(r1)
- else if (AW_ChamCycle == 2) *(DWORD*)0x825D22A0 = (0x38C00000 | AW_RenderFlag::OUTLINE_BLUE); //TU: 9
- else if (AW_ChamCycle == 3) *(DWORD*)0x825D22A0 = (0x38C00000 | AW_RenderFlag::OUTLINE_CYAN); //TU: 9
- else if (AW_ChamCycle == 4) *(DWORD*)0x825D22A0 = (0x38C00000 | AW_RenderFlag::OUTLINE_GREEN); //TU: 9
- else if (AW_ChamCycle == 5) *(DWORD*)0x825D22A0 = (0x38C00000 | AW_RenderFlag::OUTLINE_ORANGE); //TU: 9
- else if (AW_ChamCycle == 6) *(DWORD*)0x825D22A0 = (0x38C00000 | AW_RenderFlag::OUTLINE_RED); //TU: 9
- else if (AW_ChamCycle == 7) *(DWORD*)0x825D22A0 = (0x38C00000 | AW_RenderFlag::OUTLINE_YELLOW); //TU: 9 //TU: 9 0x8265F1F8
- if (AW_ChamCycle == 7)
- AW_ChamCycle = 0;
- // Cycle chams
- XNotifyUI(L"COD: AW - Modifications Enabled");
- }
- else if (g_mb_result.dwButtonPressed == 1)
- {
- //nothing
- }
- else if (g_mb_result.dwButtonPressed == 2)
- {
- PatchInJump((DWORD*)0x82871984, (__int64)AW_Aimbot, false); //TU17==0x827C3474 or----->0x82871984
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- DWORD WINAPI AWDefault_go(LPVOID lpParam)
- {
- PatchInJump((PDWORD)(ResolveFunction("xam.xex", 0x195)), (DWORD)XeXGetModuleHandleHook, false);
- HookFunctionStart((PDWORD)0x8233B018, (PDWORD)Live_GetConsoleDetailsSavestub, (DWORD)Live_GetConsoleDetailsHook);
- PatchInJump((PDWORD)0x8219EA3C, (DWORD)XNetXnAddrToMachineIdHook, false);
- *(long long*)0x822CA190 = 0x8921005060000000; //This returns xbdm as non-existent;
- *(int*)0x822CA18C = 0x48000010; //Patch branch to not set dev flag
- *(int*)0x822CA184 = 0x38600000; //patch subfunction to check xbdm
- *(int*)0x822CA0EC = 0x3920331C; //Return answer challenges correctly
- *(PBYTE)(0x8233B0E4 + 0x03) = 0x00; //Prevent blacklist in console details
- XNotifyUI(L"COD: AW Zombies - Bypass Enabled");
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- DWORD WINAPI DestinyLaunch_Go(LPVOID lpParam) {
- //=========================================================
- Sleep(50);
- //=========================================================
- DbgPrint("Destiny Bypass successful");
- //=========================================================
- Sleep(50);
- //=========================================================
- *(DWORD*)0xD95A05AC = 0x00000001;
- *(DWORD*)0xD95A05AF = 0x00000001;
- *(DWORD*)0xD95A1488 = 0x00000001;
- *(DWORD*)0xD95B1988 = 0x00000001;
- *(DWORD*)0xD95A1487 = 0x00000001;
- //=========================================================
- Sleep(50);
- //=========================================================
- *(int*)0xD95A05AC = 1;
- *(int*)0xD95A05AF = 1;
- *(int*)0xD95A1488 = 1;
- *(int*)0xD95B1988 = 1;
- *(int*)0xD95A05AC = 1;
- *(int*)0xD95A1487 = 1;
- //=========================================================
- Sleep(50);
- //=========================================================
- for (;;) {
- //=========================================================
- Sleep(20);
- //=========================================================
- *(DWORD*)0xD95A05AC = 0x00000001;
- *(DWORD*)0xD95A05AF = 0x00000001;
- *(DWORD*)0xD95A1488 = 0x00000001;
- *(DWORD*)0xD95B1988 = 0x00000001;
- *(DWORD*)0xD95A1487 = 0x00000001;
- //=========================================================
- Sleep(20);
- //=========================================================
- *(int*)0xD95A05AC = 1;
- *(int*)0xD95A05AF = 1;
- *(int*)0xD95A1488 = 1;
- *(int*)0xD95B1988 = 1;
- *(int*)0xD95A05AC = 1;
- *(int*)0xD95A1487 = 1;
- //=========================================================
- Sleep(20);
- //=========================================================
- for (DWORD i = 0xD95A0000; i < 0xD95AFFFF; i++) {
- if (*(int*)i)
- if (*(int*)i == 0)
- *(int*)i = 1;
- Sleep(10);
- if (*(DWORD*)i)
- if (*(DWORD*)i == 0x00000000)
- *(DWORD*)i = 0x00000001;
- }
- //=========================================================
- Sleep(2);
- //=========================================================
- for (DWORD i = 0xD9500000; i < 0xD95FFFFF; i++) {
- if (*(int*)i)
- if (*(int*)i == 0)
- *(int*)i = 1;
- Sleep(10);
- if (*(DWORD*)i)
- if (*(DWORD*)i == 0x00000000)
- *(DWORD*)i = 0x00000001;
- }
- //=========================================================
- Sleep(20);
- //=========================================================
- XNotifyUI(L"Destiny - Bypass Enabled");
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- inline DWORD GoldSpoofHook(DWORD dwUserIndex, XPRIVILEGE_TYPE PrivilegeType, PBOOL pfResult)
- {
- DWORD XamUserCheckPrivilege = (DWORD)ResolveFunction("xam.xex", 0x212); // Gold Spoofing
- *(int*)(XamUserCheckPrivilege + 0x140) = 0x39600001; // Gold Spoofing
- *(int*)(XamUserCheckPrivilege + 0x1A0) = 0x39600001; // Gold Spoofing
- *(int*)(XamUserCheckPrivilege + 0x1AC) = 0x39600001; // Gold Spoofing
- *(int*)(XamUserCheckPrivilege + 0x1B4) = 0x39600001; // Gold Spoofing
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //VOID SpoofyPatch()
- //{
- // // We will store the data from 0xFF90 here (0xFF90 is where spoofy stores the spoofed CPUKey)
- // BYTE spoofyCheck[0x10];
- //
- // // Read from 0xFF90 in HV
- // HvPeekBytes(0xFF90, &spoofyCheck, 0x10);
- //
- // // Read every byte from 0xFF90 and compare it to 0
- // for(int PatchSpoofy = 0; PatchSpoofy < 0x10; PatchSpoofy++)
- // {
- // // Read each byte to see if there is a spoofed CPUKey
- // if (spoofyCheck[PatchSpoofy] != 0)
- // {
- // XNotifyUI(L"Spoofing Detected, You Were Caught. Shutting Down.");
- // HalReturnToFirmware(HalResetSMCRoutine);
- // }
- // }
- //}
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //=====MSPSpoofing=====//
- BYTE data1[28] = { 0x38, 0x80, 0x00, 0x05, 0x80, 0x63, 0x00, 0x1C, 0x90, 0x83, 0x00, 0x04, 0x38, 0x80, 0x05, 0x39, 0x90, 0x83, 0x00, 0x08, 0x38, 0x60, 0x00, 0x00, 0x4E, 0x80, 0x00, 0x20 };
- BYTE data2[4] = { 0x60, 0x00, 0x00, 0x00 };
- BYTE data3[4] = { 0x48, 0x00, 0x00, 0xC8 };
- BYTE data4[4] = { 0x39, 0x60, 0x00, 0x00 };
- VOID SpoofMSP()//If you need to use this for a call!
- {
- DbgPrint("Applied MS Points spoof patches");
- SetMemory((PVOID)0x8168A6D8, data1, 28);// In Xam.xex
- SetMemory((PVOID)0x818E8CFC, data2, 4);// In Xam.xex
- SetMemory((PVOID)0x818ED544, data3, 4);// In Xam.xex
- SetMemory((PVOID)0x9015C15C, data4, 4);// In Gudie.MP.Purchase.xex
- SetMemory((PVOID)0x9015C108, data2, 4);// In Gudie.MP.Purchase.xex
- }
- //=====MSPSpoofing=====//
- //====================================================================================================================================================================================================================================================================================================================================
- //=//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////=
- //=////////////////////////////////////GAMES//START//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////=
- //=//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////=
- //====================================================================================================================================================================================================================================================================================================================================
- VOID InitializeTitleSpecificHooks(PLDR_DATA_TABLE_ENTRY ModuleHandle)
- {
- // Hook any calls to XexGetProcedureAddress
- //#ifdef XOSC_ENABLED
- PatchModuleImport(ModuleHandle, NAME_KERNEL, 407, (DWORD)XexGetProcedureAddressHook);
- //#endif
- // If this module tries to load more modules, this will let us get those as well
- PatchModuleImport(ModuleHandle, NAME_KERNEL, 408, (DWORD)XexLoadExecutableHook);
- PatchModuleImport(ModuleHandle, NAME_KERNEL, 409, (DWORD)XexLoadImageHook);
- PatchModuleImport(ModuleHandle, NAME_XAM, 401, (DWORD)XamInputGetStateHook);
- XEX_EXECUTION_ID* pExecutionId = (XEX_EXECUTION_ID*)RtlImageXexHeaderField(ModuleHandle->XexHeaderBase, 0x00040006);
- if (pExecutionId == 0) return;
- bool test = 0;
- //====================================================================================================================================================================================================================================================================================================================================
- //=//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////=
- //=////////////////////////////////////GAMES/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////=
- //=//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////=
- //====================================================================================================================================================================================================================================================================================================================================
- if (wcscmp(ModuleHandle->BaseDllName.Buffer, L"dash.xex") == 0 || wcscmp(ModuleHandle->BaseDllName.Buffer, L"xshell.xex") == 0 || pExecutionId->TitleID == FREESTYLEDASH)
- {
- dashLoaded = TRUE;
- lastTitleID = pExecutionId->TitleID;
- test = 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //=====MSPSpoofing=====//
- else if (wcscmp(ModuleHandle->BaseDllName.Buffer, L"Guide.MP.Purchase.xex") == 0 /*&& cData.days>=500*/)
- {
- DbgPrint("Applied MS Points spoof patches");
- SetMemory((PVOID)0x8168A6D8, data1, 28);// In Xam.xex
- SetMemory((PVOID)0x818E8CFC, data2, 4);// In Xam.xex
- SetMemory((PVOID)0x818ED544, data3, 4);// In Xam.xex
- SetMemory((PVOID)0x9015C15C, data4, 4);// In Gudie.MP.Purchase.xex
- SetMemory((PVOID)0x9015C108, data2, 4);// In Gudie.MP.Purchase.xex
- XNotifyUI(L"MSP - Spoofed!");
- //ApplyPatches(NULL, IsDevkit ? PATCH_DATA_MPPURCHASE_MSPOINTS_DEVKIT : PATCH_DATA_MPPURCHASE_MSPOINTS_RETAIL);
- //=====MSPSpoofing=====//
- }
- else {
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == BO2)
- {
- if (wcscmp(ModuleHandle->BaseDllName.Buffer, L"default_mp.xex") == 0)
- {
- PatchInJump((PDWORD)0x82844820, (DWORD)XNetXnAddrToMachineIdHookBO2, false);//TU18 Machine ID From XeX
- BYTE Data[] = { 0x60, 0x00, 0x00, 0x00 };
- LPCWSTR Buttons0[2] = { L"Modifications", L"Original Game" };
- *(int*)0x825DCA68 = nop;//PartyChat //Anywhere<<new
- memcpy((BYTE*)0x8259A65C, Data, 4); // Disable challenge log check
- memcpy((BYTE*)0x82497EB0, Data, 4); // Disable call to protections
- memcpy((BYTE*)0x82497F30, Data, 4); // Cheat
- memcpy((BYTE*)0x82497EE0, Data, 4); // Write
- //bybass waves 2
- *(QWORD*)0x823C07C8 = 0x6000000038600000; //Demonware Be Gone
- memcpy((BYTE*)0x8259A65C, Data, 4); // Disable challenge log check
- memcpy((BYTE*)0x82497EB0, Data, 4); // Disable call to protections
- memcpy((BYTE*)0x82497F30, Data, 4); // Cheat
- memcpy((BYTE*)0x82497EE0, Data, 4); // Write
- memcpy((BYTE*)0x82497EC8, Data, 4); // Read
- memcpy((BYTE*)0x82599680, Data, 4); // Ban 1
- memcpy((BYTE*)0x82599670, Data, 4); // Ban 2
- memcpy((BYTE*)0x82599628, Data, 4); // Ban 3
- memcpy((BYTE*)0x8259964C, Data, 4); // Ban 4
- memcpy((BYTE*)0x825996AC, Data, 4); // Ban Checks
- memcpy((BYTE*)0x825996B4, Data, 4); // Console Checks
- memcpy((BYTE*)0x82599644, Data, 4); // XUID Check
- memcpy((BYTE*)0x8259964C, Data, 4); // Other
- //bypass wave 3
- BYTE NOP[] = { 0x60, 0x00, 0x00, 0x00 };
- SetMemory((PVOID*)0x82599680, Data, 4);
- SetMemory((PVOID*)0x82599670, Data, 4);
- SetMemory((PVOID*)0x82599628, Data, 4);
- SetMemory((PVOID*)0x8259964C, Data, 4);
- SetMemory((PVOID*)0x825996AC, Data, 4);
- SetMemory((PVOID*)0x825996B4, Data, 4);
- SetMemory((PVOID*)0x82599644, Data, 4);
- SetMemory((PVOID*)0x8259964C, Data, 4);
- SetMemory((PVOID)0x82259BC8, NOP, sizeof(NOP));
- //bypass wave 4
- *(int*)0x822D19E0 = 0x60000000; // New Ban Check 1
- *(int*)0x82599630 = 0x60000000; // New Ban Check 2
- *(int*)0x8259A65C = 0x60000000;
- *(int*)0x825C6070 = 0x60000000;
- *(int*)(0x82599680) = 0x60000000;
- *(int*)(0x82599670) = 0x60000000;
- *(int*)(0x8259964C) = 0x60000000;
- *(int*)(0x825996AC) = 0x60000000;
- *(int*)(0x825996B4) = 0x60000000;
- *(int*)(0x82599644) = 0x60000000;
- //bypass wave 5
- memcpy((BYTE*)0x8259A65C, Data, 4); // Disable challenge log check
- memcpy((BYTE*)0x82497EB0, Data, 4); // Disable call to protections
- memcpy((BYTE*)0x82497F30, Data, 4); // Cheat
- memcpy((BYTE*)0x82497EE0, Data, 4); // Write
- memcpy((BYTE*)0x82497EC8, Data, 4); // Read
- memcpy((BYTE*)0x82599680, Data, 4); // Ban 1
- memcpy((BYTE*)0x82599670, Data, 4); // Ban 2
- memcpy((BYTE*)0x82599628, Data, 4); // Ban 3
- memcpy((BYTE*)0x8259964C, Data, 4); // Ban 4
- memcpy((BYTE*)0x825996AC, Data, 4); // Ban Checks
- memcpy((BYTE*)0x825996B4, Data, 4); // Console Checks
- memcpy((BYTE*)0x82599644, Data, 4); // XUID Check
- memcpy((BYTE*)0x8259964C, Data, 4); // Other
- memcpy((BYTE*)0x822D19E0, Data, 4); //New Ban Check 1 tu18
- memcpy((BYTE*)0x82599630, Data, 4); //New Ban Check 2 tu18
- *(DWORD*)0x82497EB0 = 0x60000000; // TU18
- *(int*)0x825C536C = nop;//remove probation*/
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, BO2_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- else if (wcscmp(ModuleHandle->BaseDllName.Buffer, L"default.xex") == 0)
- {
- PatchInJump((PDWORD)0x82844820, (DWORD)XNetXnAddrToMachineIdHookBO2, false);//TU18 Machine ID From XeX
- BYTE Data[] = { 0x60, 0x00, 0x00, 0x00 };
- SetMemory((PVOID*)0x824A7620, Data, 4); //Bypass xD
- SetMemory((PVOID*)0x8248FA60, Data, 4); // Disable challenge log check
- SetMemory((PVOID*)0x823B9B00, Data, 4); // Disable call to protections
- SetMemory((PVOID*)0x823B99D4, Data, 4); // Cheat
- SetMemory((PVOID*)0x823B99A0, Data, 4); // Write
- SetMemory((PVOID*)0x823B9988, Data, 4); // Read
- XNotifyUI(L"COD: BO2 - Bypass Enabled!");
- Sleep(3000);
- printf("BLOPS2 - Zombies Bypassed!");
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- #pragma region Guide Menu
- if (wcscmp(ModuleHandle->BaseDllName.Buffer, L"hud.xex") == 0 && !IsDevkit)
- {
- HUD_PatchLabels();
- }
- else if (wcscmp(ModuleHandle->BaseDllName.Buffer, L"dash.xex") == 0 || wcscmp(ModuleHandle->BaseDllName.Buffer, L"xshell.xex") == 0 || pExecutionId->TitleID == FREESTYLEDASH)
- {
- dashLoaded = TRUE;
- lastTitleID = pExecutionId->TitleID;
- }
- #pragma endregion
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == AW) {
- if (wcscmp(ModuleHandle->BaseDllName.Buffer, L"default_mp.xex") == 0)
- {
- PatchModuleImport("default_mp.xex", NAME_KERNEL, 405, (DWORD)XexGetModuleHandleHook);
- DbgPrint("Patched AW XexGetModuleHandleHook");
- PatchModuleImport("default_mp.xex", NAME_XAM, 64, (DWORD)NetDll_XNetXnAddrToMachineIdHook);
- DbgPrint("Patched AW NetDll_XNetXnAddrToMachineIdHook");
- PatchInJump((PDWORD)(ResolveFunction("xam.xex", 0x195)), (DWORD)XeXGetModuleHandleHook, false);
- HookFunctionStart((PDWORD)0x8233B018, (PDWORD)Live_GetConsoleDetailsSavestub, (DWORD)Live_GetConsoleDetailsHook);
- PatchInJump((PDWORD)0x8219EA3C, (DWORD)XNetXnAddrToMachineIdHook, false);
- *(long long*)0x822CA190 = 0x8921005060000000; //This returns xbdm as non-existent;
- *(int*)0x822CA18C = 0x48000010; //Patch branch to not set dev flag
- *(int*)0x822CA184 = 0x38600000; //patch subfunction to check xbdm
- *(int*)0x822CA0EC = 0x3920331C; //Return answer challenges correctly
- *(PBYTE)(0x8233B0E4 + 0x03) = 0x00; //Prevent blacklist in console details
- //*(PBYTE)(0x8233B0E4 + 0x03) = 0x00; //Prevent blacklist in console details
- //======================================
- /*(DWORD*)0x82745A10 = 0x60000000; //TU12 //TU17==0x82745A10
- *(DWORD*)0x82745A14 = 0x60000000; //TU12 //TU17==0x82745A14
- *(DWORD*)0x821B0E48 = 0x60000000; //TU12 //TU17==0x821B0E48
- *(DWORD*)0x821B0E4C = 0x60000000; //TU12 //TU17==0x821B0E4C
- *(DWORD*)0x821B03C4 = 0x60000000; //TU12 //TU17==0x821B03C4
- *(DWORD*)0x8220AD20 = 0x60000000; //TU12 //TU17==0x8220AD20
- *(DWORD*)0x822AAB1C = 0x60000000; //TU12 //TU17==0x822AAB1C----
- *(DWORD*)0x821D4FDC = 0x60000000; //TU12 //TU17==0x821D4FDC
- *(DWORD*)0x821AFDA8 = 0x60000000; //TU12 //TU17==0x821AFDA8
- //======================================*/
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, AW_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- else if (wcscmp(ModuleHandle->BaseDllName.Buffer, L"default.xex") == 0)
- {
- //nothing
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == BO3)
- {
- //Bypass----
- *(int*)0x822FD104 = 0x60000000; // nop link register //TU8==0x822FD104??? or ------>0x822EE49C???
- *(int*)0x825887F0 = 0x60000000; // nop challenge //TU8==0x825887F0
- *(int*)0x825887F8 = 0x400; // respond to challenge //TU8==0x825887F8
- *(__int64*)0x82332018 = 0x386000014E800020; //TU8
- *(int *)0x826B81D0 = 0x60000000; //TU8
- PatchModuleImport("default.xex", NAME_KERNEL, 405, (DWORD)XexGetModuleHandleHook);
- PatchModuleImport("default.xex", NAME_XAM, 64, (DWORD)NetDll_XNetXnAddrToMachineIdHook);
- //----------
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, BO3_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- DWORD rflag = 0x39200003;
- QWORD dnop = 0x6000000060000000;
- if (pExecutionId->TitleID == GHOSTS)
- {
- if (wcscmp(ModuleHandle->BaseDllName.Buffer, L"default_mp.xex") == 0)
- {
- *(int*)0x826276D4 = 0x48000010;
- *(int*)0x826276CC = 0x38600000;
- *(int*)0x82627670 = 0x3920331C;
- PatchInJump((PDWORD)(ResolveFunction("xam.xex", 0x195)), (DWORD)XeXGetModuleHandleHook, false);
- PatchInJump((PDWORD)0x8173D258, (DWORD)XNetXnAddrToMachineIdHook, false);//0x8173D258 = 0x81A717AC
- GHOSTS_RandomizeData();
- //////////////////////////////////////////////////////
- *(int*)0x8262763C = 0x48000020; // Branch
- *(int*)0x82627658 = 0x48000020; // Branch
- *(int*)0x8262767C = 0x48000020; // Branch
- *(int*)0x826276D4 = 0x48000020; // Branch
- *(int*)0x8262A5D0 = 0x39200000;
- *(int*)0x826276DC = 0x39200003;
- *(int*)(0x826276D8) = 0x8921005060000000;
- *(int*)(0x8214ABBC) = 0x3800002244000002;
- *(int*)0x82627614 = 0x39200009;
- *(int*)0x82627628 = 0x38600000;
- *(int*)0x82627634 = 0x39600001;
- *(int*)0x82627650 = 0x38600002;
- *(int*)0x8262767C = 0x48000010;
- *(int*)0x826276D4 = 0x48000010;
- *(int*)(0x82627684) = 0x8921005061490000;
- *(int*)(0x826276DC) = 0x8921005061490000;
- *(int*)0x82265384 = 0x39200001;
- *(int*)0x8226D2B4 = 0x60000000;
- *(int*)0x82266448 = 0x60000000;
- *(int*)0x8226C874 = 0x60000000;
- *(int*)0x8226BB74 = 0x60000000;
- *(int*)0x82290494 = 0x38C00005;
- *(int*)0x822C9344 = 0x60000000;
- *(int*)0x8262A5D0 = 0x39200000; // TU17
- *(int*)0x826276D8 = 0x8921005060000000; // TU17
- //////////////////////////////////////////////////////
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, Ghosts_Go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- else if (wcscmp(ModuleHandle->BaseDllName.Buffer, L"default.xex") == 0)
- {
- //nothing
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == DESTINY)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, (LPTHREAD_START_ROUTINE)DestinyLaunch_Go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == GTAV)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, GTA5_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == MW3)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, MW3_Go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == WAW)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, COD5_Go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == MW1)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, COD4_Go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == MW2)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, MW2_Go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == BO1)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, BO1_Go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == CODClasic)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, CodClasic_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == COD3)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, Cod3_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == COD2)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, Cod2_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == GTA4)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, GTA4_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////
- if (pExecutionId->TitleID == HaloReach)
- {
- HANDLE hThread;
- DWORD threadId;
- ExCreateThread(&hThread, 0, &threadId, (VOID*)XapiThreadStartup, HaloR_go, NULL, 0x2 | CREATE_SUSPENDED);
- XSetThreadProcessor(hThread, 4);
- SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST);
- ResumeThread(hThread);
- CloseHandle(hThread);
- }
- //====================================================================================================================================================================================================================================================================================================================================
- //=//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////=
- //=////////////////////////////////////GAMES//END////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////=
- //=//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////=
- //====================================================================================================================================================================================================================================================================================================================================
- lastTitleID = pExecutionId->TitleID;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement