From c0f1354a301ce2a2fc867a89fafdde4571c07c02 Mon Sep 17 00:00:00 2001 From: boris Date: Wed, 2 Jan 2019 21:11:03 +1300 Subject: 6IX9INE "Billy" (WSHH Exclusive - Official Music Video) --- csgo-loader/csgo-client/Client.cpp | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 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 52a288d..7285b6b 100644 --- a/csgo-loader/csgo-client/Client.cpp +++ b/csgo-loader/csgo-client/Client.cpp @@ -2,12 +2,6 @@ /* TODO: - - Finish off security on client: - - Add dump protection (closes csgo.exe if a handle is detected, probably explorer shellcode) - - Add HWID generation [half-assed atm] - - - 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 - Either the code is mapped and called via CreateRemoteThread (allows custom param) @@ -15,16 +9,14 @@ - This will probably be the easiest thing to do. - Finish off injection wrapper: - - Allocate a 4KB page for trampoline imports (4096/6) { E9 ? ? ? ? C3 } - - Actually, allocate every memory page as a bunch of consecutive 4kb sections - - Trampoline for imports - - Everything is already laid out, tbh. + - Allocate every memory page as a bunch of consecutive 4kb sections (in order to fuck with people trying to dump) - Have the loader inject a .DLL :^) TODO (Nave): - Make the UI look nice. - Adapt the server to work with your backend. + - Add dump protection (closes csgo.exe if a handle is detected, probably explorer shellcode) */ @@ -32,11 +24,11 @@ int __stdcall WinMain(HINSTANCE inst, HINSTANCE prev, char* str, int cmdshow) { - (Utils::OpenConsole()); + WRAP_IF_DEBUG(Utils::OpenConsole()); /////////////////////////////////////////////////////////////// - VMProtectBeginUltra("EntryPoint"); + VMProtectBeginMutation("EntryPoint"); /////////////////////////////////////////////////////////////// @@ -66,16 +58,33 @@ int __stdcall WinMain(HINSTANCE inst, HINSTANCE prev, char* str, int cmdshow) UserInterface->m_Data.m_ExecutionState = UserExperience::EXECUTION_WAITING; // Attempt to connect to the remote server. + WRAP_IF_DEBUG( + printf("[DEBUG] Server IP: %08x\n", inet_addr("35.165.60.229")); + ); + Networking::TCPClientPtr Client = std::make_unique(); if(!Client->Start(LOCAL_IP, SERVER_PORT)) ERROR_ASSERT(STR("[000F:0002A000] Server closed the connection unexpectedly.")); - + // Allow the user to input their log-in data. UserInterface->m_Data.m_ExecutionState = UserExperience::EXECUTION_LOG_IN; while(UserInterface->m_Data.m_ExecutionState != UserExperience::EXECUTION_WAITING) { Sleep(1); } + Login::RemoteLoginTransaction LoginTransaction; + LoginTransaction.Start(UserInterface->m_Data.m_Username, UserInterface->m_Data.m_Password); + + ByteArray Transaction = LoginTransaction.GetHeader(); + Client->SendBytes(Transaction); + + ByteArray LoginResponse = Client->ReceiveBytes(); + if(!LoginTransaction.TranslateResponse(LoginResponse)) + ExitProcess(0); + + // Allow the user to choose a cheat to inject. + UserInterface->m_Data.m_ExecutionState = UserExperience::EXECUTION_CHOOSE; + // TODO: Add game selection. while(1) { if(GetAsyncKeyState(VK_END) & 0x8000) break; Sleep(1); } -- cgit v1.2.3