Guest User

Untitled

a guest
Feb 11th, 2016
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.00 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment