feat(Protections): Hooked REPORT_MYSELF_EVENT sender
This commit is contained in:
parent
65cacc17f3
commit
3d6b1b667d
@ -18,7 +18,7 @@ namespace big::functions
|
||||
using gta_thread_tick = __int64(GtaThread* a1, unsigned int a2);
|
||||
using gta_thread_kill = __int64(GtaThread* a1);
|
||||
|
||||
using trigger_script_event = int(int unk0, int64_t* args, int argCount, int bitFlags);
|
||||
using trigger_script_event = int(int unk0, int* args, int argCount, int bitFlags);
|
||||
|
||||
using increment_stat_event = bool(uint64_t net_event_struct, int64_t sender, int64_t a3);
|
||||
|
||||
@ -44,4 +44,5 @@ namespace big::functions
|
||||
|
||||
// Net Event Handlers
|
||||
using report_cash_spawn = bool(__int64 creport_cash_spawn_event, CNetGamePlayer* source_player);
|
||||
using report_myself_event_sender = void(__int64 a1, unsigned int a2, unsigned int a3, unsigned int a4);
|
||||
}
|
||||
|
@ -58,6 +58,8 @@ namespace big
|
||||
|
||||
// Report Cash Spawn Event
|
||||
m_report_cash_spawn_event_hook("RCSE", g_pointers->m_report_cash_spawn, &hooks::report_cash_spawn_handler),
|
||||
// Report Myself Event Sender
|
||||
m_report_myself_event_sender_hook("RMES", g_pointers->m_report_myself_sender, &hooks::report_myself_event_handler),
|
||||
|
||||
// Scripted Game Event Hook
|
||||
m_scripted_game_event_hook("SGEH", g_pointers->m_scripted_game_event, &hooks::scripted_game_event)
|
||||
@ -95,6 +97,7 @@ namespace big
|
||||
m_received_event_hook.enable();
|
||||
|
||||
m_report_cash_spawn_event_hook.enable();
|
||||
m_report_myself_event_sender_hook.enable();
|
||||
|
||||
m_scripted_game_event_hook.enable();
|
||||
|
||||
@ -107,6 +110,7 @@ namespace big
|
||||
|
||||
m_scripted_game_event_hook.disable();
|
||||
|
||||
m_report_myself_event_sender_hook.disable();
|
||||
m_report_cash_spawn_event_hook.disable();
|
||||
|
||||
m_received_event_hook.disable();
|
||||
|
@ -42,6 +42,7 @@ namespace big
|
||||
);
|
||||
|
||||
static bool report_cash_spawn_handler(__int64 creport_cash_spawn_event, CNetGamePlayer* source_player);
|
||||
static void report_myself_event_handler(__int64 a1, unsigned int a2, unsigned int a3, unsigned int a4);
|
||||
|
||||
static bool scripted_game_event(CScriptedGameEvent* scripted_game_event, CNetGamePlayer* player);
|
||||
};
|
||||
@ -83,6 +84,7 @@ namespace big
|
||||
detour_hook m_received_event_hook;
|
||||
|
||||
detour_hook m_report_cash_spawn_event_hook;
|
||||
detour_hook m_report_myself_event_sender_hook;
|
||||
|
||||
detour_hook m_scripted_game_event_hook;
|
||||
};
|
||||
|
12
BigBaseV2/src/hooks/report_myself_event_handler.cpp
Normal file
12
BigBaseV2/src/hooks/report_myself_event_handler.cpp
Normal file
@ -0,0 +1,12 @@
|
||||
#include "hooking.hpp"
|
||||
#include "natives.hpp"
|
||||
|
||||
namespace big
|
||||
{
|
||||
void hooks::report_myself_event_handler(__int64 a1, unsigned int a2, unsigned int a3, unsigned int a4)
|
||||
{
|
||||
LOG(INFO) << "Blocked REPORT_MYSELF_EVENT";
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
@ -197,6 +197,12 @@ namespace big
|
||||
{
|
||||
m_ptr_to_handle = ptr.as<decltype(m_ptr_to_handle)>();
|
||||
});
|
||||
|
||||
// Report Myself Event Sender
|
||||
main_batch.add("RMES", "E8 ? ? ? ? 41 8B 47 0C 39 43 20", [this](memory::handle ptr)
|
||||
{
|
||||
m_report_myself_sender = ptr.as<decltype(m_report_myself_sender)>();
|
||||
});
|
||||
|
||||
main_batch.run(memory::module(nullptr));
|
||||
|
||||
|
@ -63,6 +63,7 @@ namespace big
|
||||
|
||||
// Net Event Handlers
|
||||
functions::report_cash_spawn* m_report_cash_spawn{};
|
||||
functions::report_myself_event_sender* m_report_myself_sender{};
|
||||
};
|
||||
|
||||
inline pointers *g_pointers{};
|
||||
|
Reference in New Issue
Block a user