Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.21 KB | None | 0 0
  1. bool Hooking::HookNatives()
  2. {
  3.  
  4.  
  5. MH_STATUS status = MH_CreateHook(Hooking::is_DLC_present, HK_IS_DLC_PRESENT, (void**)&OG_IS_DLC_PRESENT);
  6. if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::is_DLC_present) != MH_OK)
  7. return false;
  8. Hooking::m_hooks.push_back(Hooking::is_DLC_present);
  9.  
  10. MH_STATUS statuslol = MH_CreateHook(Hooking::GetLabelText, hkGetLabelText, (void**)&ogGetLabelText);
  11. if (status != MH_OK || MH_EnableHook(Hooking::GetLabelText) != MH_OK)
  12. return false;
  13. Hooking::m_hooks.push_back(Hooking::GetLabelText);
  14.  
  15. MH_CreateHook(Hooking::NtQueryVirtualMemory, hkNtQueryVirtualMemory, (void**)&ogNtQueryVirtualMemory);
  16. MH_EnableHook(Hooking::NtQueryVirtualMemory);
  17. Hooking::m_hooks.push_back(Hooking::NtQueryVirtualMemory);
  18.  
  19. m_int_checker = Memory::pattern("80 3D ? ? ? ? ? 0F 85 ? ? ? ? 48 8B 05 ? ? ? ? 48 8B 08 48 39 0D ? ? ? ? 0F 85").count(1).get(0).get<std::uint8_t>(0);
  20. if (m_int_checker == nullptr) {
  21. Log::Msg("Failed to find Int checker");
  22. }
  23. else {
  24. og_int_checker = m_int_checker[0];
  25. memcpy_s(int_check, sizeof(int_check), m_int_checker, sizeof(int_check));
  26. m_int_checker[0] = 0xC3;
  27. memset(m_int_checker, 0x90, sizeof(int_check));
  28. FlushInstructionCache(GetCurrentProcess(), m_int_checker, 8);
  29. }
  30.  
  31. MH_STATUS penis = MH_CreateHook(Hooking::PickupRewardMoneyIsApplicableToPlayer, hkPickupRewardMoneyIsApplicableToPlayer, (void**)&ogPickupRewardMoneyIsApplicableToPlayer);
  32. if (status != MH_OK || MH_EnableHook(Hooking::PickupRewardMoneyIsApplicableToPlayer) != MH_OK)
  33. return false;
  34. Hooking::m_hooks.push_back(Hooking::PickupRewardMoneyIsApplicableToPlayer);
  35.  
  36. status = MH_CreateHook(Hooking::set_warning_message_2, HK_SET_WARNING_MESSAGE_2, (void**)&OG_SET_WARNING_MESSAGE_2);
  37. if (status != MH_OK || MH_EnableHook(Hooking::set_warning_message_2) != MH_OK)
  38. return false;
  39. Hooking::m_hooks.push_back(Hooking::set_warning_message_2);
  40.  
  41. MH_CreateHook(Hooking::GetScriptHandlerIfNetworked, hkGetScriptHandlerIfNetworked, (void**)&ogGetScriptHandlerIfNetworked);
  42. MH_EnableHook(Hooking::GetScriptHandlerIfNetworked);
  43. Hooking::m_hooks.push_back(Hooking::GetScriptHandlerIfNetworked);
  44. return true;
  45.  
  46.  
  47.  
  48. /*if (Hooking::found_prw) {
  49. status = MH_CreateHook(Hooking::pickup_is_applicable_to_player, HK_PICKUP_REWARD, (void**)&OG_PICKUP_REWARD);
  50. if (status != MH_OK || MH_EnableHook(Hooking::pickup_is_applicable_to_player) != MH_OK)
  51. return false;
  52. Hooking::m_hooks.push_back(Hooking::pickup_is_applicable_to_player);
  53. }*/
  54.  
  55. }
  56. //fpPickupRewardMoneyIsApplicableToPlayer ogPickupRewardMoneyIsApplicableToPlayer = nullptr;
  57. //bool hkPickupRewardMoneyIsApplicableToPlayer(void *thisptr, void *unk, void *ped)
  58. //{
  59. // if (Features::moneyDropProtection)
  60. // {
  61. // return false;
  62. // }
  63. //
  64. // return ogPickupRewardMoneyIsApplicableToPlayer(thisptr, unk, ped);
  65. //}
  66. //fpPickupRewardMoneyIsApplicableToPlayer Hooking::PickupRewardMoneyIsApplicableToPlayer = nullptr;
  67. //fpGetLabelText ogGetLabelText = nullptr;
  68. //const char *hkGetLabelText(void *this_, const char *label)
  69. //{
  70. // if (std::strcmp(label, "HUD_JOINING") == 0)
  71. // {
  72. // return "Joining GTA Online with Impact";
  73. // }
  74. //
  75. // return ogGetLabelText(this_, label);
  76. //}
  77. //bool Hooking::HookNatives()
  78. //{
  79. // MH_STATUS status;
  80. //
  81. // if (enable_coloading) {
  82. // if (Hooking::found_idp) {
  83. // status = MH_CreateHook(Hooking::is_DLC_present, HK_IS_DLC_PRESENT, (void**)&OG_IS_DLC_PRESENT);
  84. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::is_DLC_present) != MH_OK)
  85. // return false;
  86. // Hooking::m_hooks.push_back(Hooking::is_DLC_present);
  87. // Log::Msg("Main Hook: IDP");
  88. // }
  89. // else {
  90. // status = MH_CreateHook(Hooking::is_entity_upsidedown, HK_IS_ENTITY_UPSIDEDOWN, (void**)&OG_IS_ENTITY_UPSIDEDOWN);
  91. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::is_entity_upsidedown) != MH_OK)
  92. // return false;
  93. // Hooking::m_hooks.push_back(Hooking::is_entity_upsidedown);
  94. // Log::Msg("Main Hook: DCE");
  95. // }
  96. //
  97. // /*if (Hooking::found_ssi) {
  98. // status = MH_CreateHook(Hooking::stat_set_int, HK_STAT_SET_INT, (void**)&OG_STAT_SET_INT);
  99. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::stat_set_int) != MH_OK)
  100. // return false;
  101. // Hooking::m_hooks.push_back(Hooking::stat_set_int);
  102. // }*/
  103. //
  104. // /*if (Hooking::found_sge) {
  105. // status = MH_CreateHook(Hooking::event_handler, HK_EVENT_HANDLER, (void**)&OG_EVENT_HANDLER);
  106. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::event_handler) != MH_OK)
  107. // return false;
  108. // Hooking::m_hooks.push_back(Hooking::event_handler);
  109. // }*/
  110. //
  111. // /*if (Hooking::found_gcm) {
  112. // status = MH_CreateHook(Hooking::get_message, HK_GET_MESSAGE, (void**)&OG_GET_MESSAGE);
  113. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::get_message) != MH_OK)
  114. // return false;
  115. // Hooking::m_hooks.push_back(Hooking::get_message);
  116. // }*/
  117. //
  118. // if (Hooking::found_glt) {
  119. // status = MH_CreateHook(Hooking::GetLabelText, hkGetLabelText, (void**)&ogGetLabelText);
  120. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::GetLabelText) != MH_OK)
  121. // return false;
  122. // Hooking::m_hooks.push_back(Hooking::GetLabelText);
  123. // }
  124. //
  125. // if (Hooking::found_gsh) {
  126. // status = MH_CreateHook(Hooking::GetScriptHandlerIfNetworked, hkGetScriptHandlerIfNetworked, (void**)&ogGetScriptHandlerIfNetworked);
  127. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::GetScriptHandlerIfNetworked) != MH_OK)
  128. // return false;
  129. // Hooking::m_hooks.push_back(Hooking::GetScriptHandlerIfNetworked);
  130. // }
  131. //
  132. // if (Hooking::found_ged) {
  133. // status = MH_CreateHook(Hooking::get_event_data, &Hooking::GED, &m_OriginalGetEventData);
  134. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::get_event_data) != MH_OK)
  135. // return false;
  136. // Hooking::m_hooks.push_back(Hooking::get_event_data);
  137. // }
  138. //
  139. // if (Hooking::found_nts) {
  140. // status = MH_CreateHook(Hooking::NtQueryVirtualMemory, hkNtQueryVirtualMemory, (void**)&ogNtQueryVirtualMemory);
  141. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::NtQueryVirtualMemory) != MH_OK)
  142. // return false;
  143. // Hooking::m_hooks.push_back(Hooking::NtQueryVirtualMemory);
  144. // }
  145. //
  146. // if (Hooking::found_prw) {
  147. // status = MH_CreateHook(Hooking::pickup_is_applicable_to_player, HK_PICKUP_REWARD, (void**)&OG_PICKUP_REWARD);
  148. // if (status != MH_OK || MH_EnableHook(Hooking::pickup_is_applicable_to_player) != MH_OK)
  149. // return false;
  150. // Hooking::m_hooks.push_back(Hooking::pickup_is_applicable_to_player);
  151. // }
  152. //
  153. // }
  154. // else {
  155. //
  156. // status = MH_CreateHook(Hooking::is_DLC_present, HK_IS_DLC_PRESENT, (void**)&OG_IS_DLC_PRESENT);
  157. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::is_DLC_present) != MH_OK)
  158. // return false;
  159. // Hooking::m_hooks.push_back(Hooking::is_DLC_present);
  160. // Log::Msg("Main Hook: IDP");
  161. //
  162. // /*status = MH_CreateHook(Hooking::is_entity_upsidedown, HK_IS_ENTITY_UPSIDEDOWN, (void**)&OG_IS_ENTITY_UPSIDEDOWN);
  163. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::is_entity_upsidedown) != MH_OK)
  164. // return false;
  165. // Hooking::m_hooks.push_back(Hooking::is_entity_upsidedown);
  166. // Log::Msg("Main Hook: DCE");*/
  167. //
  168. // /*status = MH_CreateHook(Hooking::stat_set_int, HK_STAT_SET_INT, (void**)&OG_STAT_SET_INT);
  169. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::stat_set_int) != MH_OK)
  170. // return false;
  171. // Hooking::m_hooks.push_back(Hooking::stat_set_int);*/
  172. //
  173. // /*status = MH_CreateHook(Hooking::event_handler, HK_EVENT_HANDLER, (void**)&OG_EVENT_HANDLER);
  174. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::event_handler) != MH_OK)
  175. // return false;
  176. // Hooking::m_hooks.push_back(Hooking::event_handler);*/
  177. //
  178. // /*status = MH_CreateHook(Hooking::get_message, HK_GET_MESSAGE, (void**)&OG_GET_MESSAGE);
  179. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::get_message) != MH_OK)
  180. // return false;
  181. // Hooking::m_hooks.push_back(Hooking::get_message);*/
  182. //
  183. // MH_STATUS status = MH_CreateHook(Hooking::is_DLC_present, HK_IS_DLC_PRESENT, (void**)&OG_IS_DLC_PRESENT);
  184. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::is_DLC_present) != MH_OK)
  185. // return false;
  186. // Hooking::m_hooks.push_back(Hooking::is_DLC_present);
  187. // return true;
  188. //
  189. // status = MH_CreateHook(Hooking::GetLabelText, hkGetLabelText, (void**)&ogGetLabelText);
  190. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::GetLabelText) != MH_OK)
  191. // return false;
  192. // Hooking::m_hooks.push_back(Hooking::GetLabelText);
  193. //
  194. // status = MH_CreateHook(Hooking::GetScriptHandlerIfNetworked, hkGetScriptHandlerIfNetworked, (void**)&ogGetScriptHandlerIfNetworked);
  195. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::GetScriptHandlerIfNetworked) != MH_OK)
  196. // return false;
  197. // Hooking::m_hooks.push_back(Hooking::GetScriptHandlerIfNetworked);
  198. //
  199. // status = MH_CreateHook(Hooking::get_event_data, &Hooking::GED, &m_OriginalGetEventData);
  200. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::get_event_data) != MH_OK)
  201. // return false;
  202. // Hooking::m_hooks.push_back(Hooking::get_event_data);
  203. //
  204. // status = MH_CreateHook(Hooking::NtQueryVirtualMemory, hkNtQueryVirtualMemory, (void**)&ogNtQueryVirtualMemory);
  205. // if ((status != MH_OK && status != MH_ERROR_ALREADY_CREATED) || MH_EnableHook(Hooking::NtQueryVirtualMemory) != MH_OK)
  206. // return false;
  207. // Hooking::m_hooks.push_back(Hooking::NtQueryVirtualMemory);
  208. //
  209. // status = MH_CreateHook(Hooking::pickup_is_applicable_to_player, HK_PICKUP_REWARD, (void**)&OG_PICKUP_REWARD);
  210. // if (status != MH_OK || MH_EnableHook(Hooking::pickup_is_applicable_to_player) != MH_OK)
  211. // return false;
  212. // Hooking::m_hooks.push_back(Hooking::pickup_is_applicable_to_player);
  213. //
  214. // }
  215. //
  216. // return true;
  217. //}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement