diff options
| author | boris <wzn@moneybot.cc> | 2019-01-01 20:31:51 +1300 |
|---|---|---|
| committer | boris <wzn@moneybot.cc> | 2019-01-01 20:31:51 +1300 |
| commit | 7a3b48831bfc9c4aa8c39c1e42d5bf5dd73e43c5 (patch) | |
| tree | 954898c772081536a5ff4dc36a42591608b797c0 /csgo-loader/csgo-client/Client.cpp | |
| parent | b9702fe8541e61f27f5c788dc72feaefe5abfc0d (diff) | |
whole buncha fixes & switching to vmp
Diffstat (limited to 'csgo-loader/csgo-client/Client.cpp')
| -rw-r--r-- | csgo-loader/csgo-client/Client.cpp | 31 |
1 files changed, 10 insertions, 21 deletions
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<Networking::TCPClient>();
+
+ 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);
-
///////////////////////////////////////////////////////////////
}
|
