#include "../ptm_ctx/ptm_ctx.hpp" // not sure how far back this goes but i think if you are // on windows 10 you should be alright... #define KTHREAD_PKPROCESS_OFFSET 0xB8 #define KPROCESS_DIRBASE_OFFSET 0x28 namespace hyperspace { class hyper_ctx { using virt_addr_t = std::uintptr_t; using phys_addr_t = std::uintptr_t; vdm::vdm_ctx* v_ctx; ptm::ptm_ctx* target_ctx; std::pair hyperspace_context, orig_context; PEPROCESS clone_peproc, orig_peproc; public: explicit hyper_ctx(ptm::ptm_ctx* target_ctx); auto hyper_jmp(std::uint32_t tid = GetCurrentThreadId()) -> void; auto hyper_ret(std::uint32_t tid = GetCurrentThreadId()) -> void; }; }