From 3d412a4b30a9f7c7f51ea6562e694315948bd3da Mon Sep 17 00:00:00 2001 From: boris Date: Wed, 28 Nov 2018 16:00:02 +1300 Subject: cleaned up in short, the cheat and loader are now separate solutions. unused stuff was moved into the legacy solution in case anyone wants to compile it or whatever. i can change this back if you want to. also, i configured the loader to compile in x64, and have separate build types for linux and win64 --- cheat/internal_rewrite/packet_start.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 cheat/internal_rewrite/packet_start.cpp (limited to 'cheat/internal_rewrite/packet_start.cpp') diff --git a/cheat/internal_rewrite/packet_start.cpp b/cheat/internal_rewrite/packet_start.cpp new file mode 100644 index 0000000..a5c9db4 --- /dev/null +++ b/cheat/internal_rewrite/packet_start.cpp @@ -0,0 +1,26 @@ +#include "hooks.hpp" +#include "context.hpp" + +void __fastcall hooks::packet_start( void* ecx, void* edx, int in_seq, int out_ack ) { + if( !g_ctx.run_frame( ) || !g_ctx.m_local->is_valid( ) ) { + *( int* )( uintptr_t( ecx ) + 0x114 ) = in_seq; + *( int* )( uintptr_t( ecx ) + 0x4cb4 ) = out_ack; + } + + // okay now this is epic + //printf("%08x -> %08x\n", &hooks::packet_start, hooks::packet_start_o); + + for( auto cmd_number = g_ctx.m_cmd_numbers.begin( ); cmd_number != g_ctx.m_cmd_numbers.end( ); ) { + if( *cmd_number == out_ack ) { + auto cl = ( uintptr_t )( ecx ); + + *( int* )( cl + 0x114 ) = in_seq; + *( int* )( cl + 0x4cb4 ) = out_ack; + + g_ctx.m_cmd_numbers.erase( cmd_number ); + return; + } + + cmd_number++; + } +} \ No newline at end of file -- cgit v1.2.3