#pragma once #include namespace RemoteCode { class RemoteCodeClient { using MemProtect = bool(__stdcall *)(void *, size_t, uint32_t, uint32_t *); struct ShellcodeParameters { // Specifies whether or not the thread hijacking // exploit will be used for code execution. uint8_t m_ThreadExploit; // Address of the module allocation base uintptr_t m_AllocationBase; // Specifies the entry-point / optional TLS directory // to invoke. uintptr_t m_EntryPoint; uintptr_t m_TlsDirectory; // Thread hijacking (original address & VMT) uintptr_t m_ThreadOriginal; uintptr_t m_ThreadVirtual; // Function parameters that will be passed MemProtect m_ProtectMemory; }; }; }