From ace9ae2117175dfe5e14b259db2e0536f8ec7a8a Mon Sep 17 00:00:00 2001 From: boris Date: Mon, 24 Dec 2018 20:39:09 +1300 Subject: fffffffff --- .../csgo-server/RemoteCode/RemoteCodeServer.cpp | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp') diff --git a/csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp b/csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp index 7e4b553..daa42ae 100644 --- a/csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp +++ b/csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp @@ -1 +1,53 @@ #include + +namespace RemoteCode +{ + ByteArray Shellcode = { + // TODO: Add shellcode. + }; + + bool RemoteCodeServer::Start(ByteArray &Parameters) + { + RemoteCodeParameters CodeParams = *(RemoteCodeParameters *)&Parameters[0]; + + // Check if the header is valid. + if((!CodeParams.m_EndSceneVmt || !CodeParams.m_OriginalEndScene) || + (CodeParams.m_EntryPoint || CodeParams.m_CheatHeader)) + { + // TODO: Ban user (probably using fake client) + return false; + } + + // Set up shellcode. + m_CustomCode.insert( + m_CustomCode.begin(), + Shellcode.begin(), + Shellcode.end() + ); + + // TODO: Set up pointers in shellcode. + + return true; + } + + uintptr_t RemoteCodeServer::GetOffsetByPattern(ByteArray &Data, ByteArray Pattern) + { + if(Data.empty()) + return uintptr_t{}; + + ByteArray::iterator Position = std::search( + Data.begin(), + Data.end(), + Pattern.begin(), + Pattern.end() + ); + + if(Position != Data.end()) + return (uintptr_t)std::distance(Data.begin(), Position); + + return uintptr_t{}; + } + + // is this loss? + ByteArray RemoteCodeServer::GetShellcode() { return m_CustomCode; } +} \ No newline at end of file -- cgit v1.2.3