From 7a3b48831bfc9c4aa8c39c1e42d5bf5dd73e43c5 Mon Sep 17 00:00:00 2001 From: boris Date: Tue, 1 Jan 2019 20:31:51 +1300 Subject: whole buncha fixes & switching to vmp --- csgo-loader/csgo-client/Client.cpp | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) (limited to 'csgo-loader/csgo-client/Client.cpp') diff --git a/csgo-loader/csgo-client/Client.cpp b/csgo-loader/csgo-client/Client.cpp index c41856c..d752732 100644 --- a/csgo-loader/csgo-client/Client.cpp +++ b/csgo-loader/csgo-client/Client.cpp @@ -3,16 +3,10 @@ /* TODO: - Finish off security on client: - - Run a thread to check for blacklisted drivers periodically (also blacklist VBox) - - Run a thread to check if there is more than X threads running in the loader. - Add dump protection (closes csgo.exe if a handle is detected, probably explorer shellcode) - - Add HWID generation + - Add HWID generation [half-assed atm] - - Apply Themida macros inside important functions: - - Apply mutation on Security hooks and main function. - - Apply fast VM on syscall manager, process functions - - Apply robust VM on TCP, login - - Apply heavy VM on Encryption, recv/send wrappers. + - Switch Themida with VMP (Superior VM imho and I can fuck people over with my cool script (: ) - Finish off shellcode execution wrapper: - The shellcode can be executed via two ways @@ -38,13 +32,10 @@ int __stdcall WinMain(HINSTANCE inst, HINSTANCE prev, char* str, int cmdshow) { - WRAP_IF_DEBUG(Utils::OpenConsole()); + /*WRAP_IF_DEBUG*/(Utils::OpenConsole()); /////////////////////////////////////////////////////////////// - WRAP_IF_RELEASE(MUTATE_START); - WRAP_IF_RELEASE(STR_ENCRYPT_START); - /////////////////////////////////////////////////////////////// // Create a thread to handle UI. @@ -59,22 +50,23 @@ int __stdcall WinMain(HINSTANCE inst, HINSTANCE prev, char* str, int cmdshow) while(!UserInterface->m_Data.m_Ready) { Sleep(1); } + // Initialize the syscall manager. + if(!Syscalls->Start()) + ERROR_ASSERT("[000F:00001B00] Failed to initialize. Please contact an administrator."); + // Initialize the runtime protection system. WRAP_IF_RELEASE( if(!Protection->Start()) ERROR_ASSERT("[000F:00001A00] Failed to initialize. Please contact an administrator."); ); - // Initialize the syscall manager. - if(!Syscalls->Start()) - ERROR_ASSERT("[000F:00001B00] Failed to initialize. Please contact an administrator."); - // Wait for connection. UserInterface->m_Data.m_ExecutionState = UserExperience::EXECUTION_WAITING; // Attempt to connect to the remote server. - Networking::TCPClient Client; - if(!Client.Start(LOCAL_IP, SERVER_PORT)) + Networking::TCPClientPtr Client = std::make_unique(); + + if(!Client->Start(LOCAL_IP, SERVER_PORT)) ERROR_ASSERT("[000F:0002A000] Server closed the connection unexpectedly."); // Allow the user to input their log-in data. @@ -87,9 +79,6 @@ int __stdcall WinMain(HINSTANCE inst, HINSTANCE prev, char* str, int cmdshow) /////////////////////////////////////////////////////////////// - WRAP_IF_RELEASE(STR_ENCRYPT_END); - WRAP_IF_RELEASE(MUTATE_END); - /////////////////////////////////////////////////////////////// } -- cgit v1.2.3