llBeastModell

BO3 BYPASS

Apr 23rd, 2016
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //BO3 Bypass By: OvaKill
  2.  
  3. #ifndef _BO3_BYPASS_DEFINES_H
  4.  
  5. #define _BO3_BYPASS_DEFINES_H
  6.  
  7.  
  8.  
  9. #include "stdafx.h"
  10.  
  11. #include "Vec.h"
  12.  
  13. #include <time.h>
  14.  
  15.  
  16.  
  17. BYTE IPAddress[4], ConsoleSerial[12], ConsoleIndex[12];
  18.  
  19. BYTE MachineId[] = { 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
  20.  
  21. BYTE Enet[] = { 0x00, 0x1D, 0xD8, 0x00, 0x00, 0x00 };
  22.  
  23.  
  24.  
  25. byte Response[] =
  26.  
  27. {
  28.  
  29.         0x46, 0x7C, 0x70, 0xB0,                                                                                                                 // IP Address [4 Bytes]
  30.  
  31.         0xFC, 0x00, 0x00, 0x00, 0xE6, 0xA5, 0xDD, 0xD1,                                                                 // Machine ID [8 Bytes]
  32.  
  33.         0xF5, 0xD7, 0xDA, 0xF1, 0x46, 0x21, 0x01, 0x10,                                                                 // MAC Address [8 Bytes]
  34.  
  35.         0x00, 0x00, 0x00, 0x00,                                                                                                                 // ChallengePadding 0 (Read Memory @ func_849AF534(float))
  36.  
  37.         0x00, 0x00, 0x00, 0x00,                                                                                                                 // ChallengePadding 1 (Read Memory @ func_849AF534 + 0x04(float))
  38.  
  39.         0x08, 0x60,                                                                                                                                             // ChallengePadding 2 (Read Memory @ func_84629B5C)
  40.  
  41.         0x03,                                                                                                                                                   // RetailFlag 0x01 = Active | 0x02 = Clean Retail (What Makes it Not?) | 01 + 02 = 0x03 = Active + Clean
  42.  
  43.         0x30, 0x31, 0x34, 0x32, 0x36, 0x31, 0x37, 0x39, 0x35, 0x32, 0x30, 0x37, 0x00,   // Console Serial [12 Bytes]
  44.  
  45.         0x30, 0x33, 0x32, 0x37, 0x35, 0x38, 0x31, 0x31, 0x33, 0x30, 0x35, 0x35,                 // Console ID
  46.  
  47.         0x42, 0xFE                                                                                                                                              // Unknown Padding
  48.  
  49. };
  50.  
  51. typedef struct _BO3_ChallengeResponse
  52.  
  53. {
  54.  
  55.         unsigned char abOnlineIP[4];//0x00-0x04
  56.  
  57.         unsigned long long qwMachineId;//0x04-0xC
  58.  
  59.         unsigned long long qwEnet;//0xC-0x14
  60.  
  61.         float fRegionLatitude;//0x14-0x18
  62.  
  63.         float fRegionLongtitude;//0x18-0x1C
  64.  
  65.         short shFreeAmount;//0x1C-0x1E
  66.  
  67.         unsigned char bSecurityFlag;//0x1E-0x1F
  68.  
  69.         char szConsoleSerial[0xD];//0x1F-0x2C
  70.  
  71.         char szConsoleId[0xC];//0x2C-0x38
  72.  
  73.         char szConsoleRetail[0x3];//0x01+0x02 = 0x03
  74.  
  75.         short shKernalVersion;//0x38-0x3A
  76.  
  77.         WORD Padding1;
  78.  
  79.         QWORD UnknownVector2;
  80.  
  81.         WORD UnknownShort;
  82.  
  83.         BYTE Padding2;
  84.  
  85. } BO3_ChallengeResponse, *pBO3_ChallengeResponse;
  86.  
  87.  
  88.  
  89. typedef enum BO3_ChallengeFlag : BYTE
  90.  
  91. {
  92.  
  93.         ACTIVE = 1,
  94.  
  95.         VALID = 2,
  96.  
  97.         INVALIDPRIVILEGE = 8,
  98.  
  99.         XBDM = 16,
  100.  
  101. } BO3_ChallengeFlag;
  102.  
  103. typedef enum _BO3_RenderFlag : BYTE
  104.  
  105. {
  106.  
  107.         HIGHLIGHT_RED = 18,
  108.  
  109.         HIGHLIGHT_HOT = 20,
  110.  
  111.         HIGHLIGHT_GREEN = 22,
  112.  
  113.         HIGHLIGHT_CYAN = 24,
  114.  
  115.         HIGHLIGHT_ORANGE = 26,
  116.  
  117.         HIGHLIGHT_YELLOW = 28,
  118.  
  119.         HIGHLIGHT_BLUE = 30,
  120.  
  121. } BO3_RenderFlag;
  122.  
  123.  
  124.  
  125. int XNetXnAddrToMachineIdHookDASH(XNCALLER_TYPE xnc, XNADDR  pxnaddr, unsigned long long MachineId)
  126.  
  127. {
  128.  
  129.         srand((unsigned int)time(0));
  130.  
  131.         MachineId = 0xFA00000000000000 | (0x2000000 | rand() % 0x7FFFFF);
  132.  
  133.         *(__int64*)0x8232BE18 = 0x386000014E800020; //BO3 bypass hash
  134.  
  135.         return 0;
  136.  
  137. }
  138.  
  139.  
  140.  
  141.  
  142.  
  143. inline __declspec() int answerChallenges(int r3, int r4, int r5)
  144.  
  145. {
  146.  
  147.         __asm
  148.  
  149.         {
  150.  
  151.                 nop
  152.  
  153.                         nop
  154.  
  155.                         nop
  156.  
  157.                         nop
  158.  
  159.                         nop
  160.  
  161.                         nop
  162.  
  163.                         nop
  164.  
  165.                         blr
  166.  
  167.         }
  168.  
  169. }
  170.  
  171.  
  172.  
  173. void randomize()
  174.  
  175. {
  176.  
  177.         BYTE IPAddress[4], MachineId[8], Enet[8], ConsoleKey[13], ConsoleIndex[12], padding0[2], padding1[8];
  178.  
  179.         for (int i = 0; i < 2; i++)IPAddress[i] = rand() % 90;
  180.  
  181.         for (int i = 0; i < 2; i++)MachineId[i] = rand() % 90;
  182.  
  183.         for (int i = 0; i < 1; i++)Enet[i] = rand() % 90;
  184.  
  185.         for (int i = 0; i < 3; i++)ConsoleIndex[i] = rand() % 90;
  186.  
  187.         for (int i = 0; i < 3; i++)ConsoleKey[i] = rand() % 90;
  188.  
  189.         for (int i = 0; i < 2; i++)padding0[i] = rand() % 90;
  190.  
  191.         for (int i = 0; i < 8; i++)padding1[i] = rand() % 90;
  192.  
  193.         memcpy(Response + 0x2, &IPAddress, 2);
  194.  
  195.         memcpy(Response + 0x6, &MachineId, 2);
  196.  
  197.         memcpy(Response + 0x10, &Enet, 1);
  198.  
  199.         memcpy(Response + 0x29, &ConsoleKey, 3);
  200.  
  201.         memcpy(Response + 0x33, &ConsoleIndex, 3);
  202.  
  203.         memcpy(Response + 0x1C, &padding0, 2);
  204.  
  205.         memcpy(Response + 0x14, &padding1, 8);
  206.  
  207. }
  208.  
  209.  
  210.  
  211. void RandomizeData()
  212.  
  213. {
  214.  
  215.         srand((unsigned int)time(0));
  216.  
  217.         for (int i = 0; i < 4; i++) IPAddress[i] = rand() % 90;
  218.  
  219.         for (int i = 0; i < 8; i++) MachineId[i] = rand() % 90;
  220.  
  221.         for (int i = 0; i < 6; i++) Enet[i] = rand() % 90;
  222.  
  223.         for (int i = 0; i < 12; i++){
  224.  
  225.                 ConsoleSerial[i] = rand() % 90;
  226.  
  227.                 ConsoleIndex[i] = rand() % 90;
  228.  
  229.         }
  230.  
  231. }
  232.  
  233. inline DWORD GoldSpoofHook(DWORD dwUserIndex, XPRIVILEGE_TYPE PrivilegeType, PBOOL pfResult)
  234.  
  235. {
  236.  
  237.         if (PrivilegeType == XPRIVILEGE_TYPE::XPRIVILEGE_COMMUNICATIONS_FRIENDS_ONLY
  238.  
  239.                 || PrivilegeType == XPRIVILEGE_TYPE::XPRIVILEGE_PROFILE_VIEWING_FRIENDS_ONLY
  240.  
  241.                 || PrivilegeType == XPRIVILEGE_TYPE::XPRIVILEGE_USER_CREATED_CONTENT_FRIENDS_ONLY
  242.  
  243.                 || PrivilegeType == XPRIVILEGE_TYPE::XPRIVILEGE_PRESENCE_FRIENDS_ONLY
  244.  
  245.                 || PrivilegeType == XPRIVILEGE_TYPE::XPRIVILEGE_VIDEO_COMMUNICATIONS_FRIENDS_ONLY)
  246.  
  247.                 *pfResult = FALSE;
  248.  
  249.         else
  250.  
  251.                 *pfResult = TRUE;
  252.  
  253.  
  254.  
  255.         return 0;
  256.  
  257. }
  258.  
  259.  
  260.  
  261. unsigned long XeXGetModuleHandleHook(char* ModuleName)
  262.  
  263. {
  264.  
  265.         if (strcmp(ModuleName, "xbdm.xex") == 0)
  266.  
  267.                 return 0;
  268.  
  269. }
  270.  
  271.  
  272.  
  273. int XNetXnAddrToMachineIdHook(XNCALLER_TYPE xnc, XNADDR  pxnaddr, unsigned long long MachineId)
  274.  
  275. {
  276.  
  277.         srand((unsigned int)time(0));
  278.  
  279.         MachineId = 0xFA00000000000000 | (0x2000000 | rand() % 0x7FFFFF);
  280.  
  281.         return 0;
  282.  
  283. }
  284.  
  285. unsigned long XeKeysGetKeyHook(unsigned short key, unsigned char* buffer, PDWORD len) //
  286.  
  287. {
  288.  
  289.         if (key == 0x14)
  290.  
  291.         {
  292.  
  293.                 srand((unsigned int)time(0));
  294.  
  295.                 for (int i = 0x00; i < 0xC; i++) buffer[i] = rand() % 0x7F;
  296.  
  297.                 return 0L;
  298.  
  299.         }
  300.  
  301.         return XeKeysGetKey(key, buffer, len);
  302.  
  303. }
  304.  
  305.  
  306.  
  307. long XeKeysGetConsoleIDHook(unsigned char* buffer, int Unknown)
  308.  
  309. {
  310.  
  311.         srand((unsigned int)time(0));
  312.  
  313.         for (int i = 0x00; i < 0xC; i++) buffer[i] = rand() % 0x7F;
  314.  
  315.         return 0;
  316.  
  317. }
  318.  
  319. #endif
Add Comment
Please, Sign In to add comment