• Stars
    star
    192
  • Rank 195,787 (Top 4 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A modern c++ implementation of windows heavens gate

wow64pp

An easy to use header only heavens gate implementation based on wow64ext X64Call however not using inline assembly allowing it to work on other compilers like MinGW.

Quick reference

Wow64pp only exposes 3 functions 2 of which have exception based and error_code based counterparts.

#include "wow64pp.hpp"
// ...

// equivalent of GetModuleHandle
auto x64_ntdll_handle = wow64pp::module_handle("ntdll.dll"); 
// or wow64pp::module_handle("ntdll.dll", error_code);

// equivalent of GetProcAddress
auto x64_NtQueryVirtualMemory = wow64pp::import(x64_ntdll_handle, "NtQueryVirtualMemory"); 
// or wow64pp::import(x64_ntdll_handle, "NtQueryVirtualMemory", error_code);

// after getting the function address you can call it using wow64pp::call_function by passing its address
// as the first argument, with the function arguments following.
winapi::MEMORY_BASIC_INFORMATION64 memory_info;
std::uint64_t result_len;
auto ec = wow64pp::call_function(x64_NtQueryVirtualMemory, process_handle, address
				, 0, &memory_info, sizeof(memory_info), &result_len);