Advertisement
Guest User

Untitled

a guest
Mar 26th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.42 KB | None | 0 0
  1. #include "main.h"
  2. #include "DriverManager.h"
  3. #include "encypt.h"
  4.  
  5. using namespace std;
  6.  
  7. std::unique_ptr<DriverManager> driver = std::make_unique<DriverManager>("\\\\.\\NTIOLib_MB");
  8.  
  9. #define offset_game_manager 0x53c1670
  10. #define offset_fov_manager 0x53c1668
  11. #define offset_entity_list 0xC8
  12. #define offset_entity_count 0xD0
  13. #define offset_round_manager 0x53B0F40
  14. #define weapon_recoil_Enabler 0x168
  15. #define weapon_recoil_x 0x014C
  16. #define weapon_recoil_y 0x015C
  17. #define weapon_crosshair_gap 0x20
  18. #define offset_v_table 0x3a83e58
  19. #define offset_glow_manager 0x607aa50
  20. #define offset_glow_base 0xB8
  21. #define offset_glow_color 0x110
  22. #define offset_glow_distance 0x130
  23. #define offset_glow_opacity 0x13C
  24. #define offset_profile_manager 0x53ae810
  25. #define offset_glow_manager 0x607aa50
  26.  
  27. #define ADDRESS_GAMEMANAGER 0x53c1670
  28. #define OFFSET_GAMEMANAGER_ENTITYLIST 0xC8
  29. #define OFFSET_GAMEMANAGER_ENTITY_COUNT 0xD0
  30. #define ADDRESS_VTMARKER 0x3a83e58
  31.  
  32. uintptr_t base_address;
  33. uintptr_t game_manager;
  34. uintptr_t round_manager;
  35. uintptr_t entity_list;
  36. int entity_count;
  37.  
  38.  
  39. bool ESP(uint64_t Base)
  40. {
  41. uintptr_t GameManager = driver->ReadMemory<uintptr_t>(Base + ADDRESS_GAMEMANAGER);
  42.  
  43. if (!GameManager)
  44. {
  45. return false;
  46. }
  47.  
  48. uintptr_t EntityList = driver->ReadMemory<uintptr_t>(GameManager + OFFSET_GAMEMANAGER_ENTITYLIST);
  49.  
  50. if (!EntityList)
  51. {
  52. return false;
  53. }
  54.  
  55. int EntityCount = driver->ReadMemory<DWORD>(GameManager + OFFSET_GAMEMANAGER_ENTITY_COUNT) & 0x3fffffff;
  56.  
  57. if (!EntityCount)
  58. {
  59. return false;
  60. }
  61.  
  62. for (int i = 0; i < EntityCount; i++)
  63. {
  64. uintptr_t EntityObject = driver->ReadMemory<uintptr_t>(EntityList + i * 0x8);
  65.  
  66. if (!EntityObject)
  67. {
  68. continue;
  69. }
  70.  
  71. uintptr_t PtrChain1 = driver->ReadMemory<uintptr_t>(EntityObject + 0x28); if (!PtrChain1) continue;
  72. uintptr_t PtrChain2 = driver->ReadMemory<uintptr_t>(PtrChain1 + 0xD8); if (!PtrChain2) continue;
  73.  
  74. for (auto Component = 0x80; Component < 0xf0; Component += sizeof(uintptr_t))
  75. {
  76. uintptr_t PtrChain3 = driver->ReadMemory<uintptr_t>(PtrChain2 + Component);
  77.  
  78. if (!PtrChain3)
  79. {
  80. continue;
  81. }
  82.  
  83. if (driver->ReadMemory<uintptr_t>(PtrChain3) != (Base + ADDRESS_VTMARKER))
  84. {
  85. continue;
  86. }
  87.  
  88. driver->WriteMemory<BYTE>(PtrChain3 + 0x552, true);
  89. driver->WriteMemory<BYTE>(PtrChain3 + 0x554, true);
  90. }
  91. }
  92. }
  93.  
  94.  
  95. int main() {
  96. std::cout << _xor_("Launch Rainbow Retarded Coon").c_str() << std::endl;
  97.  
  98.  
  99. // this loops until rainbow is open and gets the pid.
  100. // sleeps for 1 sec.
  101. while (!driver->GetProcessID(_xor_("RainbowSix.exe").c_str()))
  102. std::this_thread::sleep_for(std::chrono::seconds(30));
  103.  
  104. // clears screen
  105. std::system("cls");
  106.  
  107. // 5 seconds sleep
  108. std::this_thread::sleep_for(std::chrono::seconds(15));
  109.  
  110. std::cout << _xor_("[+] Initializing...").c_str() << std::endl;
  111.  
  112. // get base address
  113. base_address = driver->GetModuleBaseAddr(_xor_("RainbowSix.exe").c_str());
  114.  
  115. std::cout << "[+] Found " << _xor_("base_address").c_str() << " : " << std::hex << "0x" << base_address << std::endl;
  116.  
  117. // get game manager
  118. game_manager = driver->ReadMemory<uintptr_t>(base_address + offset_game_manager);
  119. std::cout << "[+] Found " << _xor_ ("game_manager").c_str() << " : " << std::hex << "0x" << game_manager << std::endl;
  120.  
  121. // get round manager
  122. round_manager = driver->ReadMemory<uintptr_t>(base_address + offset_round_manager);
  123. std::cout << "[+] Found " << _xor_("round_manager").c_str() << " : " << std::hex << "0x" << round_manager << std::endl;
  124.  
  125. // get entity list
  126. entity_list = driver->ReadMemory<uintptr_t>(base_address + offset_game_manager + offset_entity_list);
  127. std::cout << "[+] Found " << _xor_("entity_list").c_str() << " : " << std::hex << "0x" << entity_list << std::endl;
  128.  
  129. // get entity count
  130. entity_count = driver->ReadMemory<DWORD>(base_address + offset_game_manager + offset_entity_count) & 0x3fffffff;
  131. std::cout << "[+] Found " << _xor_("entity_count").c_str() << " : " << std::hex << "0x" << entity_count << std::endl;
  132.  
  133. std::cout << _xor_("[+] Initialized.").c_str() << std::endl;
  134.  
  135. while(true)
  136.  
  137. ESP(base_address);
  138.  
  139. std::cin.get();
  140.  
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement