Guest User

ALIVE in 01/04/25 Xbox Dump

a guest
Oct 13th, 2025
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.64 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include "Scanners.h"
  4. #include "..\Memory\Memory.h"
  5. #include "..\Pattern Scanners\PatternScanners.h"
  6.  
  7. bool debug = true;
  8.  
  9. bool MiscDone = false;
  10. bool Visualsdone = false;
  11. bool UsercmdDone = false;
  12. bool DDLDone = false;
  13. bool Luidone = false;
  14. bool AllDone = false;
  15. bool gotcmdq = false;
  16. bool gotpacket = false;
  17. uintptr_t test;
  18.  
  19. namespace ScanSigs {
  20. namespace Miscellaneous {
  21. void ScanSigs() {
  22. if (!AllDone)
  23. {
  24.  
  25. Offset::GetItemQuantity = SCAN(xorstr_("E8 ? ? ? ? 33 C9 48 8D 7F")); //ALIVE in jan
  26. if (Offset::GetItemQuantity) {
  27. Offset::GetItemQuantity = RESOLVE(Offset::GetItemQuantity, 1, 5);
  28. sigcount++;
  29. }
  30. Log_To_Notepad("Offset::GetItemQuantity = 0x%p", Offset::GetItemQuantity);
  31.  
  32.  
  33. Offset::BlackBoxIntalized = SCAN(xorstr_("E8 ?? ?? ?? ?? 84 C0 74 2A 48 8D 54 24 ?? 8B CB E8 ?? ?? ?? ??")); //ALIVE in jan
  34. if (Offset::BlackBoxIntalized) {
  35. Offset::BlackBoxIntalized = RESOLVE(Offset::BlackBoxIntalized, 1, 5);
  36. sigcount++;
  37. }
  38. Log_To_Notepad("Offset::BlackBoxIntalized = 0x%p", Offset::BlackBoxIntalized);
  39.  
  40. Offset::GetInstance = SCAN(xorstr_("E8 ?? ?? ?? ?? 4C 8D 4C 24 ?? C6 44 24 ?? ?? 4C 8D 44 24 ?? 8B D7")); //ALIVE
  41. if (Offset::GetInstance) {
  42. Offset::GetInstance = RESOLVE(Offset::GetInstance, 1, 5);
  43. sigcount++;
  44. }
  45. Log_To_Notepad("Offset::GetInstance = 0x%p", Offset::GetInstance);
  46.  
  47. Offset::GetConstInstance = SCAN(xorstr_("E8 ?? ?? ?? ?? 45 33 C0 48 8B CB C5 F8 10 B0")); //ALIVE
  48. if (Offset::GetConstInstance) {
  49. Offset::GetConstInstance = RESOLVE(Offset::GetConstInstance, 1, 5);
  50. sigcount++;
  51. }
  52. Log_To_Notepad("Offset::GetConstInstance = 0x%p", Offset::GetConstInstance);
  53.  
  54. Offset::SendMessageToChat = SCAN(xorstr_("C5 F9 7F 74 24 ?? E8 ?? ?? ?? ?? 33 D2 84 C0 0F 95 C2")); //ALIVE
  55. if (Offset::SendMessageToChat) {
  56. Offset::SendMessageToChat = RESOLVE(Offset::SendMessageToChat + 6, 1, 5);
  57. sigcount++;
  58. }
  59. Log_To_Notepad("Offset::SendMessageToChat = 0x%p", Offset::SendMessageToChat);
  60.  
  61. Offset::BG_GetWeaponClass = SCAN(xorstr_("E8 ? ? ? ? 0F B6 C8 E8 ? ? ? ? 48 8B CE 48 8B F8")); //ALIVE
  62. if (Offset::BG_GetWeaponClass) {
  63. Offset::BG_GetWeaponClass = RESOLVE(Offset::BG_GetWeaponClass, 1, 5);
  64. sigcount++;
  65. }
  66. Log_To_Notepad("Offset::BG_GetWeaponClass = 0x%p", Offset::BG_GetWeaponClass);
  67.  
  68. Offset::BG_GetAmmoInClipForWeapon = SCAN(xorstr_("E8 ?? ?? ?? ?? B9 ?? ?? ?? ?? 8B D8 E8 ?? ?? ?? ?? 85 C0 78")); //ALIVE
  69. if (Offset::BG_GetAmmoInClipForWeapon) {
  70. Offset::BG_GetAmmoInClipForWeapon = RESOLVE(Offset::BG_GetAmmoInClipForWeapon, 1, 5);
  71. sigcount++;
  72. }
  73. Log_To_Notepad("Offset::BG_GetAmmoInClipForWeapon = 0x%p", Offset::BG_GetAmmoInClipForWeapon);
  74.  
  75. Offset::nextState = SCAN(xorstr_("41 8B F8 48 8B DA 8B F1 7C")); //ALIVE
  76. if (Offset::nextState) {
  77. Offset::nextState = *(uint32_t*)(Offset::nextState + 0xD) - 0x8;
  78. sigcount++;
  79. }
  80. Log_To_Notepad("Offset::nextState = 0x%p", Offset::nextState);
  81.  
  82.  
  83. Offset::CL_Main_IsBRGameType = SCAN(xorstr_("E8 ? ? ? ? 4D 8D 46 69")); //ALIVE
  84. if (Offset::CL_Main_IsBRGameType) {
  85. Offset::CL_Main_IsBRGameType = RESOLVE(Offset::CL_Main_IsBRGameType, 1, 5);
  86. sigcount++;
  87. }
  88. Log_To_Notepad("Offset::CL_Main_IsBRGameType = 0x%p", Offset::CL_Main_IsBRGameType);
  89.  
  90. Offset::UI_SafeTranslateString = SCAN(xorstr_("40 53 48 83 EC ? 80 39 1F 48 8B D9")); //push rbx alive??
  91. if (Offset::UI_SafeTranslateString) {
  92. sigcount++;
  93. }
  94. Log_To_Notepad("Offset::UI_SafeTranslateString = 0x%p", Offset::UI_SafeTranslateString);
  95.  
  96. Offset::P_CG_ClientModel_RuntimeData = SCAN(xorstr_("48 C1 E1 07 48 03 CB 48 69 F1")); //ALIVE
  97. if (Offset::P_CG_ClientModel_RuntimeData) {
  98. Offset::P_CG_ClientModel_RuntimeData = RESOLVE(Offset::P_CG_ClientModel_RuntimeData - 11, 3, 7);
  99. sigcount++;
  100. }
  101. Log_To_Notepad("Offset::P_CG_ClientModel_RuntimeData = 0x%p", Offset::P_CG_ClientModel_RuntimeData);
  102.  
  103. Offset::A_CG_Entity_GetPlayerViewOrigin = SCAN(xorstr_("8B 41 ?? 89 02 8B 41 ?? 89 42 04 C5 FA 10 41 ?? C5 FA 11 42 ?? C5 FA 58 81 ?? ?? ?? ?? C5 FA 11 42 ?? C3")); //ALIVE
  104. if (Offset::A_CG_Entity_GetPlayerViewOrigin)
  105. sigcount++;
  106. Log_To_Notepad("Offset::A_CG_Entity_GetPlayerViewOrigin = 0x%p", Offset::A_CG_Entity_GetPlayerViewOrigin);
  107.  
  108.  
  109. Offset::EndLobby = SCAN(xorstr_("48 8B 54 24 ?? 4C 8B C0 E8 ?? ?? ?? ?? 4C 8B BC 24 ?? ?? ?? ??")); //ALIVE
  110. Log_To_Notepad("Offset::EndLobby = 0x%p", Offset::EndLobby);
  111.  
  112. if (Offset::EndLobby != 0ui64) {
  113. //DWORD64 temp_endlobby = SCAN(xorstr_("40 55"), (DWORD64)Offset::EndLobby, 0x76);
  114. //Log_To_Notepad("Offset::EndLobby = 0x%p", Offset::EndLobby);
  115.  
  116. //if (temp_endlobby == NULL)
  117. // temp_endlobby = SCAN(xorstr_("4C 8B"), (DWORD64)Offset::EndLobby, 0x76);
  118. //Log_To_Notepad("Offset::EndLobby = 0x%p", Offset::EndLobby);
  119.  
  120. // if (temp_endlobby == NULL)
  121. DWORD64 temp_endlobby = SCAN(xorstr_("48 89 5C 24 10"), (DWORD64)Offset::EndLobby, 0x76); //???
  122. Log_To_Notepad("Offset::EndLobby = 0x%p", Offset::EndLobby);
  123.  
  124. Offset::EndLobby = temp_endlobby;
  125. sigcount++;
  126.  
  127. }
  128. Log_To_Notepad("Offset::EndLobby = 0x%p", Offset::EndLobby);
  129.  
  130. Offset::Chams = SCAN(xorstr_("E8 ?? ?? ?? ?? 48 81 C3 ?? ?? ?? ?? 48 83 EE 01 0F 85 ?? ?? ?? ?? 48 8B 74 24 ?? 48 8B 5C 24 ?? 48 8D 7C 24")); //alive
  131. if (Offset::Chams) {
  132. Offset::Chams = RESOLVE(Offset::Chams, 1, 5);
  133. sigcount++;
  134. }
  135. Log_To_Notepad("Offset::Chams = 0x%p", Offset::Chams);
  136.  
  137. Offset::GetData = SCAN(xorstr_("48 89 5C 24 ?? 48 89 74 24 ?? 57 48 83 EC 20 48 63 D9 49 8B F0 8B CA 8B FA E8"));//ALIVE
  138. if (Offset::GetData)
  139. sigcount++;
  140. Log_To_Notepad("Offset::GetData = 0x%p", Offset::GetData);
  141.  
  142. Offset::PartyDisband = SCAN(xorstr_("78 70 61 72 74 79 64 69 73 62 61 6E 64 61 66 74 65 72 72 6f 75 6E 64")); //ALIVE
  143. if (Offset::PartyDisband)
  144. sigcount++;
  145. Log_To_Notepad("Offset::PartyDisband = 0x%p", Offset::PartyDisband);
  146.  
  147. Offset::GetIndexByName = SCAN(xorstr_("E8 ?? ?? ?? ?? 8B C8 8B D8 E8 ?? ?? ?? ?? 8B 0D ?? ?? ?? ?? 4C")); //ALIVE
  148. if (Offset::GetIndexByName) {
  149. Offset::GetIndexByName = RESOLVE(Offset::GetIndexByName, 1, 5);
  150. sigcount++;
  151. }
  152. Log_To_Notepad("Offset::GetIndexByName = 0x%p", Offset::GetIndexByName);
  153.  
  154. Offset::GetButton = SCAN(xorstr_("E8 ?? ?? ?? ?? C5 FA 59 CE BA ?? ?? ?? ?? 33 C9 C5 FA 2C F9 E8")); //ALIVE
  155. if (Offset::GetButton) {
  156. Offset::GetButton = RESOLVE(Offset::GetButton, 1, 5);
  157. sigcount++;
  158. }
  159. Log_To_Notepad("Offset::GetButton = 0x%p", Offset::GetButton);
  160.  
  161. Offset::SelfChams = SCAN(xorstr_("E8 ?? ?? ?? ?? FF ?? 83 ?? 02 0F 82 ?? ?? ?? ?? 4C 8D 9C")); //ALIVE
  162. if (Offset::SelfChams) {
  163. Offset::SelfChams = RESOLVE(Offset::SelfChams, 1, 5);
  164. sigcount++;
  165.  
  166. }
  167. Log_To_Notepad("Offset::SelfChams = 0x%p", Offset::SelfChams);
  168.  
  169. Offset::ShellShock = SCAN(xorstr_("E8 ?? ?? ?? ?? 44 8B ?? ?? ?? ?? ?? 41 8B CE 44 8B")); //ALIVE
  170. if (Offset::ShellShock) {
  171. Offset::ShellShock = RESOLVE(Offset::ShellShock, 1, 5);
  172. sigcount++;
  173. }
  174. Log_To_Notepad("Offset::ShellShock = 0x%p", Offset::ShellShock);
  175.  
  176.  
  177. Offset::WeaponFireType = SCAN(xorstr_("E8 ?? ?? ?? ?? 40 0F B6 D6 48 8B CF 0F B6 D8 E8 ?? ?? ?? ?? 3C 09 0F 94 C0")); //ALIVE
  178. if (Offset::WeaponFireType) {
  179. Offset::WeaponFireType = RESOLVE(Offset::WeaponFireType, 1, 5);
  180. sigcount++;
  181. }
  182. Log_To_Notepad("Offset::WeaponFireType = 0x%p", Offset::WeaponFireType);
  183.  
  184. Offset::ThirdPerson = SCAN(xorstr_("E8 ? ? ? ? 48 8B 9C 24 ? ? ? ? 41 8B CE")); //ALIVE
  185. if (Offset::ThirdPerson) {
  186. Offset::ThirdPerson = RESOLVE(Offset::ThirdPerson, 1, 5);
  187. sigcount++;
  188. }
  189. Log_To_Notepad("Offset::ThirdPerson = 0x%p", Offset::ThirdPerson);
  190.  
  191. Offset::Controller = SCAN(xorstr_("48 8D 05 ?? ?? ?? ?? 48 03 C8 0F BA E2 1C")); //ALIVE
  192. if (Offset::Controller) {
  193. Offset::Controller = RESOLVE(Offset::Controller, 3, 7);
  194. sigcount++;
  195. }
  196. Log_To_Notepad("Offset::Controller = 0x%p", Offset::Controller);
  197.  
  198. Offset::FOV = SCAN(xorstr_("E8 ? ? ? ? 48 8B CB C5 FA 10 00")); //ALIVE
  199. if (Offset::FOV) {
  200. Offset::FOV = RESOLVE(Offset::FOV, 1, 5);
  201. sigcount++;
  202. }
  203. Log_To_Notepad("Offset::FOV = 0x%p", Offset::FOV);
  204.  
  205. Offset::InGameCheck = SCAN(xorstr_("80 3D ?? ?? ?? ?? ?? 75 63 C6 05 ?? ?? ?? ?? ?? E8 ?? ?? ?? ??"));//ALIVE
  206. if (Offset::InGameCheck) {
  207. Offset::InGameCheck = RESOLVE(Offset::InGameCheck, 2, 7);
  208. sigcount++;
  209. }
  210. Log_To_Notepad("Offset::InGameCheck = 0x%p", Offset::InGameCheck);
  211.  
  212. Offset::NoRecoil = SCAN(xorstr_("4C 8D BF ? ? ? ? 41 8B C6")); //ALIVE
  213. if (Offset::NoRecoil) {
  214. Offset::NoRecoil = *(uint32_t*)(Offset::NoRecoil + 3);
  215. sigcount++;
  216. }
  217. Log_To_Notepad("Offset::NoRecoil = 0x%p", Offset::NoRecoil);
  218.  
  219. Offset::GetPlayerName = SCAN(xorstr_("40 53 55 56 57 48 81 EC ?? ?? ?? ?? 48 8B 05 ?? ?? ?? ?? 48 33 C4 48 89 44 24 ?? 48 63 E9 49 8B F1 8B CD")); //ALIVE??? push rbx
  220. if (Offset::GetPlayerName)
  221. sigcount++;
  222. Log_To_Notepad("Offset::GetPlayerName = 0x%p", Offset::GetPlayerName);
  223.  
  224.  
  225. Offset::Tracers = SCAN(xorstr_("4C 8B DC 49 89 5B 10 49 89 6B 18 49 89 73 20 49 89 4B 08 57 41 54 41 55 41 56 41 57 48 81 EC ? ? ? ? 33 C0 41 8B F8")); //ALIVE
  226. if (Offset::Tracers)
  227. sigcount++;
  228. Log_To_Notepad("Offset::Tracers = 0x%p", Offset::Tracers);
  229.  
  230. Offset::GetBonePosition = SCAN(xorstr_("8B CE E8 ?? ?? ?? ?? 48 8B B4 24 ?? ?? ?? ?? 48 8B AC 24 ?? ?? ?? ?? 48 8B 9C 24")); //ALIVE
  231. if (Offset::GetBonePosition) {
  232. Offset::GetBonePosition = RESOLVE(Offset::GetBonePosition + 2, 1, 5);
  233. sigcount++;
  234. }
  235. Log_To_Notepad("Offset::GetBonePosition = 0x%p", Offset::GetBonePosition);
  236.  
  237. Offset::GetEntity = SCAN(xorstr_("E8 ?? ?? ?? ?? 8B CD 48 8B F0 0F BF")); //ALIVE
  238. if (Offset::GetEntity) {
  239. Offset::GetEntity = RESOLVE(Offset::GetEntity, 1, 5);
  240. sigcount++;
  241. }
  242. Log_To_Notepad("Offset::GetEntity = 0x%p", Offset::GetEntity);
  243.  
  244. Offset::PlaceFull = SCAN(xorstr_("48 8D 0D ? ? ? ? C5 FA 11 15 ? ? ? ? E8 ? ? ? ? 80 3D")); //DEAD//48 8D 15 ?? ?? ?? ?? 48 8B 5C 24 ?? 48 8B 74 24 ?? 48 83 C4 20
  245. if (Offset::PlaceFull) {
  246. Offset::PlaceFull = RESOLVE(Offset::PlaceFull, 3, 7);
  247. sigcount++;
  248.  
  249. }
  250. else {
  251. Offset::PlaceFull = SCAN(xorstr_("48 8D 15 ?? ?? ?? ?? E9 ?? ?? ?? ?? 41 F7 C0 ?? ?? ?? ?? 0F 85 ?? ?? ?? ??")); //ALIVE
  252. if (Offset::PlaceFull) {
  253. Offset::PlaceFull = RESOLVE(Offset::PlaceFull, 3, 7);
  254. sigcount++;
  255. }
  256. }
  257. Log_To_Notepad("Offset::PlaceFull = 0x%p", Offset::PlaceFull);
  258.  
  259. Offset::Score = SCAN(xorstr_("E8 ?? ?? ?? ?? 4C 8B C8 45 8B C5 48 8B D6 48 8B CD E8 ?? ?? ?? ??"));//ALIVE
  260. if (Offset::Score) {
  261. Offset::Score = RESOLVE(Offset::Score, 1, 5);
  262. sigcount++;
  263. }
  264. Log_To_Notepad("Offset::Score = 0x%p", Offset::Score);
  265.  
  266. Offset::MaxPlayerCount = SCAN(xorstr_("8B 15 ?? ?? ?? ?? E8 ?? ?? ?? ?? FF C3 89 07 48 8D 7F 04"));//aLIVE
  267. if (Offset::MaxPlayerCount) {
  268. Offset::MaxPlayerCount = RESOLVE(Offset::MaxPlayerCount, 2, 6);
  269. sigcount++;
  270. }
  271. Log_To_Notepad("Offset::MaxPlayerCount = 0x%p", Offset::MaxPlayerCount);
  272.  
  273. Offset::PlayerState = SCAN(xorstr_("48 8D 8A ?? ?? ?? ?? E8 ?? ?? ?? ?? C5 F0 57 C9"));//ALIVE
  274. if (Offset::PlayerState == NULL) {
  275. Offset::PlayerState = SCAN(xorstr_("49 8D 48 ?? E8 ?? ?? ?? ?? C5 F0 57 C9"));
  276. Offset::PlayerState = *(byte*)(Offset::PlayerState + 3);
  277. sigcount++;
  278. }
  279. else {
  280. Offset::PlayerState = *(uint32_t*)(Offset::PlayerState + 3);
  281. sigcount++;
  282. }
  283. Log_To_Notepad("Offset::PlayerState = 0x%p", Offset::PlayerState);
  284.  
  285.  
  286. Offset::GetAngle = SCAN(xorstr_("48 63 44 24 ? 48 69 C8 ? ? ? ? 41 8B 87")); //broke not needed
  287. if (Offset::GetAngle) {
  288. ZydisDecodedInstruction instruction{};
  289. ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT];
  290. DECODE(Offset::GetAngle + 13, &instruction, operands);
  291.  
  292. if (operands[1].mem.disp.has_displacement)
  293. Offset::GetAngle = operands[1].mem.disp.value;
  294.  
  295. }
  296. else {
  297. ZydisDecoder decoder;
  298. ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_64, ZYDIS_STACK_WIDTH_64);
  299.  
  300. auto decode = [&decoder](ZyanU8* data) -> std::pair<ZydisDecodedInstruction, std::array<ZydisDecodedOperand, ZYDIS_MAX_OPERAND_COUNT>> {
  301. ZydisDecodedInstruction instruction;
  302. std::array<ZydisDecodedOperand, ZYDIS_MAX_OPERAND_COUNT> operands;
  303. if (ZYAN_FAILED(ZydisDecoderDecodeFull(&decoder, data, 20,
  304. &instruction, operands.data())))
  305. return {};
  306.  
  307. return std::make_pair(instruction, operands);
  308. };
  309.  
  310.  
  311. Offset::GetAngle = [&]() -> uintptr_t {
  312. auto address = (ZyanU8*)SCAN(xorstr_("C5 FA 10 05 ?? ?? ?? ?? 48 8B D1"));
  313. if (!address)
  314. return 0;
  315.  
  316. auto [instruction, operands] = decode(address);
  317. while (instruction.mnemonic != ZYDIS_MNEMONIC_LEA)
  318. {
  319. address += 1;
  320. std::tie(instruction, operands) = decode(address);
  321. }
  322.  
  323. if (operands[0].reg.value != ZYDIS_REGISTER_R9 || !operands[1].mem.disp.has_displacement)
  324. return 0;
  325.  
  326.  
  327. return operands[1].mem.disp.value;
  328. }();
  329. }
  330. if (Offset::GetAngle)
  331. sigcount++;
  332. Log_To_Notepad("Offset::GetAngle = 0x%p", Offset::GetAngle);
  333.  
  334.  
  335. Offset::GetClientInfo = SCAN(xorstr_("48 8D 0D ?? ?? ?? ?? 48 8B 0C D1 8B D3 48 8B 01 FF 90"));//ALIVE
  336. if (Offset::GetClientInfo) {
  337. Offset::GetClientInfo = RESOLVE(Offset::GetClientInfo, 3, 7);
  338. sigcount++;
  339. }
  340. Log_To_Notepad("Offset::GetClientInfo = 0x%p", Offset::GetClientInfo);
  341. Offset::WorldToScreen = SCAN(xorstr_("E8 ? ? ? ? 84 C0 0F 84 ? ? ? ? C5 FA 10 94 24 ? ? ? ? C5 CA 58"));//ALIVE
  342. if (Offset::WorldToScreen) {
  343. Offset::WorldToScreen = RESOLVE(Offset::WorldToScreen, 1, 5);
  344. sigcount++;
  345. }
  346. Log_To_Notepad("Offset::WorldToScreen = 0x%p", Offset::WorldToScreen);
  347.  
  348. Offset::WeaponDisplayName = SCAN(xorstr_("E8 ?? ?? ?? ?? 48 C7 C7 ?? ?? ?? ?? 66 0F 1F 44 00 ??"));//ALIVE
  349. if (Offset::WeaponDisplayName) {
  350. Offset::WeaponDisplayName = RESOLVE(Offset::WeaponDisplayName, 1, 5);
  351. sigcount++;
  352. }
  353. Log_To_Notepad("Offset::WeaponDisplayName = 0x%p", Offset::WeaponDisplayName);
  354.  
  355. Offset::SightTrace = SCAN(xorstr_("E8 ?? ?? ?? ?? 84 C0 74 32 FF C3 48 83 C7 0C")); //ALIVE
  356. if (Offset::SightTrace) {
  357. Offset::SightTrace = RESOLVE(Offset::SightTrace, 1, 5);
  358. sigcount++;
  359.  
  360. }
  361. Log_To_Notepad("Offset::SightTrace = 0x%p", Offset::SightTrace);
  362.  
  363. Offset::ViewAngles = SCAN(xorstr_("41 8B 46 08 41 89 44 24 ?? E8 ?? ?? ?? FF"));//ALIVE
  364. if (Offset::ViewAngles) {
  365. Offset::ViewAngles = RESOLVE(Offset::ViewAngles + 9, 1, 5);
  366. sigcount++;
  367. }
  368. Log_To_Notepad("Offset::ViewAngles = 0x%p", Offset::ViewAngles);
  369.  
  370. Offset::WeaponName = SCAN(xorstr_("8B CF 48 89 6C 24 ?? E8 ?? ?? ?? ?? 8D 4B CF 83 F9 1A 77 0E"));//ALIVE
  371. if (Offset::WeaponName) {
  372. Offset::WeaponName = RESOLVE(Offset::WeaponName + 7, 1, 5);
  373. sigcount++;
  374. }
  375. Log_To_Notepad("Offset::WeaponName = 0x%p", Offset::WeaponName);
  376.  
  377. Offset::GetEntityType = SCAN(xorstr_("E8 ? ? ? ? 0F B7 C0 83 C0 FE"));//ALIVE
  378. if (Offset::GetEntityType) {
  379. Offset::GetEntityType = RESOLVE(Offset::GetEntityType, 1, 5);
  380. sigcount++;
  381.  
  382. }
  383. Log_To_Notepad("Offset::GetEntityType = 0x%p", Offset::GetEntityType);
  384.  
  385. Offset::UserCMDNumberAAB = SCAN(xorstr_("8D 47 44 33 87 ?? ?? ?? ?? 8D 58 02")); //DEAD
  386. if (Offset::UserCMDNumberAAB) {
  387. ZydisDecodedInstruction instruction{};
  388. ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT];
  389. DECODE(Offset::UserCMDNumberAAB, &instruction, operands);
  390.  
  391. // typeshit
  392. DECODE(Offset::UserCMDNumberAAB + instruction.length, &instruction, operands);
  393.  
  394. if (operands[1].mem.disp.has_displacement)
  395. Offset::UserCMDNumberAAB = operands[1].mem.disp.value;
  396.  
  397. sigcount++;
  398.  
  399. }
  400. else {
  401. Offset::UserCMDNumberAAB = SCAN(xorstr_("8D 87 ? ? ? ? 33 87 ? ? ? ? 8D 58 02 0F AF D8 33 9F ? ? ? ? 3B F3 7E 17 41 B8 ? ? ? ? 48 8D 15 ? ? ? ?")); //ALIVE
  402. if (Offset::UserCMDNumberAAB) {
  403. ZydisDecodedInstruction instruction{};
  404. ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT];
  405. DECODE(Offset::UserCMDNumberAAB, &instruction, operands);
  406.  
  407. // typeshit
  408. DECODE(Offset::UserCMDNumberAAB + instruction.length, &instruction, operands);
  409.  
  410. if (operands[1].mem.disp.has_displacement)
  411. Offset::UserCMDNumberAAB = operands[1].mem.disp.value;
  412.  
  413. sigcount++;
  414.  
  415. }
  416. else {
  417. Offset::UserCMDNumberAAB = SCAN(xorstr_("8D 43 80 48 8B 9C 24 ? ? ? ? 3B F0 0F 8E ? ? ? ?")); //aLIVE
  418. if (Offset::UserCMDNumberAAB) {
  419. ZydisDecodedInstruction instruction{};
  420. ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT];
  421. DECODE(Offset::UserCMDNumberAAB, &instruction, operands);
  422.  
  423. // typeshit
  424. DECODE(Offset::UserCMDNumberAAB + instruction.length, &instruction, operands);
  425.  
  426. if (operands[1].mem.disp.has_displacement)
  427. Offset::UserCMDNumberAAB = operands[1].mem.disp.value;
  428.  
  429. sigcount++;
  430.  
  431. }
  432. }
  433. }
  434. Log_To_Notepad("Offset::UserCMDNumberAAB = 0x%p", Offset::UserCMDNumberAAB);
  435.  
  436. Offset::UserCMDNumber = SCAN(xorstr_("8D 47 44 33 87 ?? ?? ?? ?? 8D 58 02"));//DEAD
  437. if (Offset::UserCMDNumber) {
  438. ZydisDecodedInstruction instruction{};
  439. ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT];
  440. DECODE(Offset::UserCMDNumber, &instruction, operands);
  441.  
  442. if (operands[1].mem.disp.has_displacement)
  443. Offset::UserCMDNumber = operands[1].mem.disp.value;
  444. sigcount++;
  445.  
  446. }
  447. else {
  448. Offset::UserCMDNumber = SCAN(xorstr_("8D 87 ? ? ? ? 33 87 ? ? ? ? 8D 58 02 0F AF D8 33 9F ? ? ? ? 3B F3 7E 17 41 B8 ? ? ? ? 48 8D 15 ? ? ? ?")); //ALIVE
  449. if (Offset::UserCMDNumber) {
  450. ZydisDecodedInstruction instruction{};
  451. ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT];
  452. DECODE(Offset::UserCMDNumber, &instruction, operands);
  453.  
  454. if (operands[1].mem.disp.has_displacement)
  455. Offset::UserCMDNumber = operands[1].mem.disp.value;
  456. sigcount++;
  457.  
  458. }
  459. else {
  460. Offset::UserCMDNumber = SCAN(xorstr_("8D 43 80 48 8B 9C 24 ? ? ? ? 3B F0 0F 8E ? ? ? ?")); //ALIVE
  461. if (Offset::UserCMDNumber) {
  462. ZydisDecodedInstruction instruction{};
  463. ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT];
  464. DECODE(Offset::UserCMDNumber, &instruction, operands);
  465.  
  466. if (operands[1].mem.disp.has_displacement)
  467. Offset::UserCMDNumber = operands[1].mem.disp.value;
  468. sigcount++;
  469.  
  470. }
  471. }
  472. }
  473. Log_To_Notepad("Offset::UserCMDNumber = 0x%p", Offset::UserCMDNumber);
  474.  
  475. Offset::UserCMD = SCAN(xorstr_("0F 8E ?? ?? ?? ?? 85 F6 0F 8E ?? ?? ?? ?? 48 ?? C7")); //ALIVE
  476. if (Offset::UserCMD) {
  477. ZydisDecodedInstruction instruction{};
  478. ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT];
  479. DECODE(Offset::UserCMD + 14, &instruction, operands);
  480. if (instruction.mnemonic == ZYDIS_MNEMONIC_ADD)
  481. Offset::UserCMD = operands[1].imm.value.u;
  482. sigcount++;
  483.  
  484. }
  485. Log_To_Notepad("Offset::UserCMD = 0x%p", Offset::UserCMD);
  486.  
  487. Offset::UserCMDPackAngle = Memory::find_ida_sig(NULL, xorstr_("E8 ? ? ? ? C5 FA 10 0D ? ? ? ? C5 FA 10 44 24 ? 41 B8 ? ? ? ? 89 45 A4 E8")).self_jmp(1);//ALIVE
  488. if (Offset::UserCMDPackAngle)
  489. sigcount++;
  490. Log_To_Notepad("Offset::UserCMDPackAngle = 0x%p", Offset::UserCMDPackAngle);
  491.  
  492. Offset::A_CL_Input_ClearAutoForwardFlag = SCAN(xorstr_("8B CD E8 ?? ?? ?? FF 8B CD E8 ?? ?? ?? FF 8B CD E8 ?? ?? ?? FF 8B CD E8")); //ALIVE
  493. if (Offset::A_CL_Input_ClearAutoForwardFlag) {
  494. Offset::A_CL_Input_ClearAutoForwardFlag = RESOLVE(Offset::A_CL_Input_ClearAutoForwardFlag + 2, 1, 5);
  495. sigcount++;
  496.  
  497. }
  498. Log_To_Notepad("Offset::A_CL_Input_ClearAutoForwardFlag = 0x%p", Offset::A_CL_Input_ClearAutoForwardFlag);
  499.  
  500. Offset::GetPlayerFOV = SCAN(xorstr_("C5 FA 11 ?? ?? ?? ?? ?? E8 ?? ?? ?? ?? C5 FA 58 54 24 ?? C5 FA 11 54 24"));//ALIVE
  501. if (Offset::GetPlayerFOV) {
  502. ZydisDecodedInstruction instruction{};
  503. ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT];
  504. DECODE(Offset::GetPlayerFOV, &instruction, operands);
  505.  
  506. if (instruction.mnemonic == ZYDIS_MNEMONIC_VMOVSS && operands[0].mem.disp.has_displacement)
  507. Offset::GetPlayerFOV = operands[0].mem.disp.value;
  508.  
  509. sigcount++;
  510.  
  511. }
  512. Log_To_Notepad("Offset::GetPlayerFOV = 0x%p", Offset::GetPlayerFOV);
  513.  
  514. Offset::Lobby_GetPartyData = SCAN(xorstr_("E8 ?? ?? ?? ?? 48 69 CB ?? ?? ?? ?? 48 03 88 ?? ?? ?? ?? 0F B6 81 ?? ?? ?? ?? 2C 03 3C 01"));//ALIVE
  515. if (Offset::Lobby_GetPartyData) {
  516. Offset::Lobby_GetPartyData = RESOLVE(Offset::Lobby_GetPartyData, 1, 5);
  517. sigcount++;
  518. }
  519. Log_To_Notepad("Offset::Lobby_GetPartyData = 0x%p", Offset::Lobby_GetPartyData);
  520.  
  521. Offset::getPlatform = SCAN(xorstr_("E8 ?? ?? ?? ?? 8B D6 44 0F BE F0 48 8B CD")); //ALIVE
  522. if (Offset::getPlatform) {
  523. Offset::getPlatform = RESOLVE(Offset::getPlatform, 1, 5);
  524. sigcount++;
  525. }
  526. Log_To_Notepad("Offset::getPlatform = 0x%p", Offset::getPlatform);
  527.  
  528. Offset::getName = SCAN(xorstr_("E8 ?? ?? ?? ?? 4C 8B C0 49 8B D4 49 8B CE")); //ALIVE
  529. if (Offset::getName) {
  530. Offset::getName = RESOLVE(Offset::getName, 1, 5);
  531. sigcount++;
  532. }
  533. Log_To_Notepad("Offset::getName = 0x%p", Offset::getName);
  534.  
  535. Offset::usingGamepad = SCAN(xorstr_("48 8B C8 E8 ? ? ? ? 83 F8 01 0F 94 C2 EB 02")); //ALIVE
  536. if (Offset::usingGamepad) {
  537. Offset::usingGamepad = RESOLVE(Offset::usingGamepad + 3, 1, 5);
  538. sigcount++;
  539.  
  540. }
  541. Log_To_Notepad("Offset::usingGamepad = 0x%p", Offset::usingGamepad);
  542.  
  543. Offset::getXUID = SCAN(xorstr_("E8 ?? ?? ?? ?? 48 8D 55 B0 48 8D 4C 24 ?? E8 ?? ?? ?? ?? 84 C0 0F 85 ?? ?? ?? ?? FF C3")); //ALIVE
  544. if (Offset::getXUID) {
  545. Offset::getXUID = RESOLVE(Offset::getXUID, 1, 5);
  546. sigcount++;
  547.  
  548. }
  549. Log_To_Notepad("Offset::getXUID = 0x%p", Offset::getXUID);
  550.  
  551. Offset::CL_IsPlayerTalking = SCAN(xorstr_("E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? 0F B6 8E ?? ?? ?? ??")); //ALIVE
  552. if (Offset::CL_IsPlayerTalking) {
  553. Offset::CL_IsPlayerTalking = RESOLVE(Offset::CL_IsPlayerTalking, 1, 5);
  554. sigcount++;
  555.  
  556. }
  557. Log_To_Notepad("Offset::CL_IsPlayerTalking = 0x%p", Offset::CL_IsPlayerTalking);
  558.  
  559. Offset::Party_GetMemberTeam = SCAN(xorstr_("E8 ? ? ? ? 48 63 D0 48 8D 0D ? ? ? ? 4C 8B C6")); //ALIVE
  560. if (Offset::Party_GetMemberTeam) {
  561. Offset::Party_GetMemberTeam = RESOLVE(Offset::Party_GetMemberTeam, 1, 5);
  562. sigcount++;
  563. }
  564. Log_To_Notepad("Offset::Party_GetMemberTeam = 0x%p", Offset::Party_GetMemberTeam);
  565.  
  566. Offset::Party_IsMemberDeafened = SCAN(xorstr_("E8 ?? ?? ?? ?? 84 C0 48 8D 0D ?? ?? ?? ?? 4C 8B C6 0F 94 C2")); //ALIVE
  567. if (Offset::Party_IsMemberDeafened) {
  568. Offset::Party_IsMemberDeafened = RESOLVE(Offset::Party_IsMemberDeafened, 1, 5);
  569. sigcount++;
  570. }
  571. Log_To_Notepad("Offset::Party_IsMemberDeafened = 0x%p", Offset::Party_IsMemberDeafened);
  572.  
  573. Offset::CG_EntityMP_CalcLerpPositions = SCAN(xorstr_("E8 ?? ?? ?? ?? E9 ?? ?? ?? ?? 0F BF 16 45 8B CF")); //ALIVE
  574. if (Offset::CG_EntityMP_CalcLerpPositions) {
  575. Offset::CG_EntityMP_CalcLerpPositions = RESOLVE(Offset::CG_EntityMP_CalcLerpPositions, 1, 5);
  576. sigcount++;
  577. }
  578. Log_To_Notepad("Offset::CG_EntityMP_CalcLerpPositions = 0x%p", Offset::CG_EntityMP_CalcLerpPositions);
  579.  
  580.  
  581. AllDone = true;
  582. Globals::ScanComplete = true;
  583. Beep(500, 500);
  584. MiscDone = true;
  585. }
  586. }
  587. }
  588. int Init_Scanners = 0;
  589. }
  590.  
Advertisement
Add Comment
Please, Sign In to add comment