summaryrefslogtreecommitdiff
path: root/csgo-loader/csgo-client/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'csgo-loader/csgo-client/Client.cpp')
-rw-r--r--csgo-loader/csgo-client/Client.cpp22
1 files changed, 5 insertions, 17 deletions
diff --git a/csgo-loader/csgo-client/Client.cpp b/csgo-loader/csgo-client/Client.cpp
index b9d7b3d..8c90f66 100644
--- a/csgo-loader/csgo-client/Client.cpp
+++ b/csgo-loader/csgo-client/Client.cpp
@@ -10,10 +10,10 @@
- Add dump protection (closes csgo.exe if a handle is detected, probably explorer shellcode)
- Add HWID generation
- Hook DbgBreakPoint and DbgUiRemoteBreakin (instead of bytepatching, some debuggers will check that) [DONE]
- - Don't forget about the security callback; leave implementation up to Nave. [DONE]
+ - Don't forget about the security callback; leave implementation up to Nave. [DONE]
- Apply Themida macros inside important functions:
- - Apply mutation on Security hooks and main function. [DONE]
+ - 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.
@@ -25,6 +25,7 @@
- This will probably be the easiest thing to do.
- Finish off injection wrapper:
+ - Allocate a 4KB page for trampoline imports (4096/6) { E8 ? ? ? ? C3 }
- Everything is already laid out, tbh.
- Have the loader inject a .DLL :^)
@@ -36,7 +37,7 @@
int __stdcall WinMain(HINSTANCE inst, HINSTANCE prev, char* str, int cmdshow)
{
- /*WRAP_IF_DEBUG*/(Utils::OpenConsole());
+ WRAP_IF_DEBUG(Utils::OpenConsole());
// Autistic workaround for Hooked_OpenProcess crashing
// when Device->CreateDevice is invoked...
@@ -73,20 +74,7 @@ int __stdcall WinMain(HINSTANCE inst, HINSTANCE prev, char* str, int cmdshow)
// Attempt to connect to the remote server.
Networking::TCPClient Client;
if(!Client.Start(LOCAL_IP, SERVER_PORT))
- ERROR_ASSERT("[000F:0002A000] Server did not accept the connection.");
-
- ByteArray Bytes{ 0, 1, 2, 3, 4, 5 };
- Client.SendBytes(Bytes);
-
-
- ByteArray Bytes2 = Client.ReceiveBytes();
-
- printf("%zd\n", Bytes2.size());
-
- for(auto &It : Bytes2)
- printf("%02x ", It);
-
- printf("\n");
+ ERROR_ASSERT("[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;