#pragma once #include #include #include using ByteArray = std::vector; namespace RemoteCode { struct RemoteCodeParameters { uintptr_t m_EndSceneVmt; uintptr_t m_OriginalEndScene; uintptr_t m_EntryPoint; uintptr_t m_CheatHeader; uintptr_t m_VirtualProtect; }; class RemoteCodeServer { ByteArray m_CustomCode; // swoo uintptr_t GetOffsetByPattern(ByteArray &Data, ByteArray Pattern); public: RemoteCodeServer() = default; // Send client the prepared shellcode. // This will also send the original and vmt address of endscene. bool Start(ByteArray &Parameters); // Get the response for the client ByteArray GetShellcode(); }; }