feat(Pointers): Fixed pointers for RECEIVED EVENT and EVENT ACK

This commit is contained in:
Yimura 2021-02-19 15:42:39 +01:00
parent 1efaa78a36
commit 021e77caf9
No known key found for this signature in database
GPG Key ID: 3D8FF4397E768682
6 changed files with 37 additions and 12 deletions

View File

@ -17,8 +17,18 @@ namespace big::functions
using get_net_player = int(Player player);
using increment_stat_event = bool(uint64_t net_event_struct, int64_t sender, int64_t a3);
using read_bitbuf_dword = bool(rage::datBitBuffer* buffer, uint32_t* read, int bits);
using received_event = bool(rage::netEventMgr* event_manager, CNetGamePlayer* source_player, CNetGamePlayer* target_player, uint16_t event_id, int event_index, int event_handled_bitset, rage::datBitBuffer* buffer);
using read_bitbuf_array = bool(rage::datBitBuffer* buffer, PVOID read, int bits, int );
using read_bitbuf_dword = bool(rage::datBitBuffer* buffer, PVOID read, int bits);
using received_event = bool(
rage::netEventMgr* event_manager,
CNetGamePlayer* source_player,
CNetGamePlayer* target_player,
uint16_t event_id,
int event_index,
int event_handled_bitset,
int64_t bit_buffer_size,
int64_t bit_buffer
);
using send_event_ack = void(rage::netEventMgr* event_manager, CNetGamePlayer* source_player, CNetGamePlayer* target_player, int event_index, int event_handled_bitset);
using script_event_handler = bool(void* events, CNetGamePlayer* sourcePlayer, CNetGamePlayer* targetPlayer);

View File

@ -123,10 +123,10 @@ namespace rage
return false;
}
/*inline bool ReadArray(PVOID array, int size)
inline bool ReadArray(PVOID array, int size)
{
return big::g_pointers->m_read_bitbuf_array(this, array, size, 0);
}*/
}
public:
void* m_data; //0x0000

View File

@ -75,7 +75,7 @@ namespace big
m_get_label_text_hook.enable();
m_error_screen_hook.enable();
m_increment_stat_hook.enable();
//m_received_event_hook.enable();
m_received_event_hook.enable();
m_script_event_hook.enable();
m_send_net_info_to_lobby_hook.enable();
@ -98,7 +98,7 @@ namespace big
m_get_label_text_hook.disable();
m_error_screen_hook.disable();
m_increment_stat_hook.disable();
//m_received_event_hook.disable();
m_received_event_hook.disable();
m_script_event_hook.disable();
m_send_net_info_to_lobby_hook.disable();
}

View File

@ -28,7 +28,16 @@ namespace big
static bool increment_stat_event(uint64_t net_event_struct, CNetGamePlayer* sender, int64_t a3);
static bool script_event_handler(std::int64_t NetEventStruct, CNetGamePlayer* net_game_player);
static bool send_net_info_to_lobby(rage::netPlayerData* local_player, int64_t a2, int64_t a3, DWORD* a4);
static bool received_event(rage::netEventMgr* event_manager, CNetGamePlayer* source_player, CNetGamePlayer* target_player, uint16_t event_id, int event_index, int event_handled_bitset, rage::datBitBuffer* buffer);
static bool received_event(
rage::netEventMgr* event_manager,
CNetGamePlayer* source_player,
CNetGamePlayer* target_player,
uint16_t event_id,
int event_index,
int event_handled_bitset,
int64_t bit_buffer_size,
int64_t bit_buffer
);
};
struct minhook_keepalive

View File

@ -143,19 +143,24 @@ namespace big
m_get_label_text = ptr.sub(19).as<decltype(m_get_label_text)>();
});
main_batch.add("Received Event", "66 41 83 F9 ? 0F 83", [this](memory::handle ptr)
main_batch.add("Received Event", "66 41 83 F9 ? 0F 83 ? ? ? ?", [this](memory::handle ptr)
{
m_received_event = ptr.as<decltype(m_received_event)>();
});
main_batch.add("Read BitBuffer WORD/DWORD", "E8 ? ? ? ? 84 C0 74 1C 48 8D 96 ? ? ? ? 44 8D 43 08 48 8B CF E8", [this](memory::handle ptr)
main_batch.add("Read BitBuffer WORD/DWORD", "48 89 74 24 ? 57 48 83 EC 20 48 8B D9 33 C9 41 8B F0 8A", [this](memory::handle ptr)
{
m_read_bitbuf_dword = ptr.as<decltype(m_read_bitbuf_dword)>();
m_read_bitbuf_dword = ptr.sub(5).as<decltype(m_read_bitbuf_dword)>();
});
main_batch.add("Received Event Ack", "4C 0F 45 C9 8B 44 24 60", [this](memory::handle ptr)
main_batch.add("Read BitBuffer Array", "48 89 5C 24 ? 57 48 83 EC 30 41 8B F8 4C", [this](memory::handle ptr)
{
m_send_event_ack = ptr.as<decltype(m_send_event_ack)>();
m_read_bitbuf_array = ptr.as<decltype(m_read_bitbuf_array)>();
});
main_batch.add("Send Event Ack", "48 89 6C 24 ? 48 89 74 24 ? 57 48 83 EC 20 80 7A", [this](memory::handle ptr)
{
m_send_event_ack = ptr.sub(5).as<decltype(m_send_event_ack)>();
});
main_batch.run(memory::module(nullptr));

View File

@ -44,6 +44,7 @@ namespace big
functions::get_player_name* m_get_player_name{};
functions::get_net_player* m_get_net_game_player{};
functions::increment_stat_event* m_increment_stat_event{};
functions::read_bitbuf_array* m_read_bitbuf_array{};
functions::read_bitbuf_dword* m_read_bitbuf_dword{};
functions::received_event* m_received_event{};
functions::script_event_handler* m_script_event_handler{};