diff options
| author | boris <wzn@moneybot.cc> | 2018-12-24 20:39:09 +1300 |
|---|---|---|
| committer | boris <wzn@moneybot.cc> | 2018-12-24 20:39:09 +1300 |
| commit | ace9ae2117175dfe5e14b259db2e0536f8ec7a8a (patch) | |
| tree | e657af71b250546fb3e135fdadb1cd31f1a07671 /csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp | |
| parent | 8a6e64f020047709f53ddd35797c511a5d3239fe (diff) | |
fffffffff
Diffstat (limited to 'csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp')
| -rw-r--r-- | csgo-loader/csgo-server/RemoteCode/RemoteCodeServer.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
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 <RemoteCode/RemoteCodeServer.hpp>
+
+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 |
