https://github.com/justasmasiulis/wow64pp
A modern c++ implementation of windows heavens gate
https://github.com/justasmasiulis/wow64pp
easy-to-use modern windows wow64
Last synced: 3 months ago
JSON representation
A modern c++ implementation of windows heavens gate
- Host: GitHub
- URL: https://github.com/justasmasiulis/wow64pp
- Owner: JustasMasiulis
- License: apache-2.0
- Created: 2017-08-01T11:02:42.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2020-09-19T17:49:33.000Z (over 4 years ago)
- Last Synced: 2025-03-21T11:50:24.066Z (3 months ago)
- Topics: easy-to-use, modern, windows, wow64
- Language: C++
- Homepage:
- Size: 62.5 KB
- Stars: 217
- Watchers: 7
- Forks: 40
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wow64pp
An easy to use header only heavens gate implementation based on [wow64ext](https://github.com/rwfpl/rewolf-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.```c++
#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);
```