3 #include "NativeSubsystem.h"
4 #include "Wow64Local.h"
13 BLACKBONE_API ~NativeWow64();
23 virtual NTSTATUS
VirualAllocExT( ptr_t& lpAddress,
size_t dwSize, DWORD flAllocationType, DWORD flProtect );
32 virtual NTSTATUS
VirualFreeExT( ptr_t lpAddress,
size_t dwSize, DWORD dwFreeType );
42 virtual NTSTATUS
VirtualProtectExT( ptr_t lpAddress, DWORD64 dwSize, DWORD flProtect, DWORD* flOld );
52 virtual NTSTATUS
ReadProcessMemoryT( ptr_t lpBaseAddress, LPVOID lpBuffer,
size_t nSize, DWORD64 *lpBytes =
nullptr );
62 virtual NTSTATUS
WriteProcessMemoryT( ptr_t lpBaseAddress, LPCVOID lpBuffer,
size_t nSize, DWORD64 *lpBytes =
nullptr );
70 virtual NTSTATUS
VirtualQueryExT( ptr_t lpAddress, PMEMORY_BASIC_INFORMATION64 lpBuffer );
78 virtual NTSTATUS
VirtualQueryExT( ptr_t lpAddress, MEMORY_INFORMATION_CLASS infoClass, LPVOID lpBuffer,
size_t bufSize );
87 virtual NTSTATUS
QueryProcessInfoT( PROCESSINFOCLASS infoClass, LPVOID lpBuffer, uint32_t bufSize );
96 virtual NTSTATUS
SetProcessInfoT( PROCESSINFOCLASS infoClass, LPVOID lpBuffer, uint32_t bufSize );
106 virtual NTSTATUS
CreateRemoteThreadT( HANDLE& hThread, ptr_t entry, ptr_t arg, CreateThreadFlags flags );
virtual NTSTATUS VirtualQueryExT(ptr_t lpAddress, PMEMORY_BASIC_INFORMATION64 lpBuffer)
Query virtual memory
Definition: Wow64Subsystem.cpp:67
virtual NTSTATUS ReadProcessMemoryT(ptr_t lpBaseAddress, LPVOID lpBuffer, size_t nSize, DWORD64 *lpBytes=nullptr)
Read virtual memory
Definition: Wow64Subsystem.cpp:112
virtual NTSTATUS VirtualProtectExT(ptr_t lpAddress, DWORD64 dwSize, DWORD flProtect, DWORD *flOld)
Change memory protection
Definition: Wow64Subsystem.cpp:95
Definition: NativeSubsystem.h:27
virtual NTSTATUS VirualAllocExT(ptr_t &lpAddress, size_t dwSize, DWORD flAllocationType, DWORD flProtect)
Allocate virtual memory
Definition: Wow64Subsystem.cpp:32
virtual ptr_t getTEB(HANDLE hThread, _TEB32 *pteb)
Get WOW64 TEB
Definition: Wow64Subsystem.cpp:325
virtual NTSTATUS WriteProcessMemoryT(ptr_t lpBaseAddress, LPCVOID lpBuffer, size_t nSize, DWORD64 *lpBytes=nullptr)
Write virtual memory
Definition: Wow64Subsystem.cpp:129
Definition: NativeStructures.h:163
Definition: NativeStructures.h:71
virtual NTSTATUS QueryProcessInfoT(PROCESSINFOCLASS infoClass, LPVOID lpBuffer, uint32_t bufSize)
Call NtQueryInformationProcess for underlying process
Definition: Wow64Subsystem.cpp:145
virtual ptr_t getPEB(_PEB32 *ppeb)
Get WOW64 PEB
Definition: Wow64Subsystem.cpp:283
virtual NTSTATUS GetThreadContextT(HANDLE hThread, _CONTEXT64 &ctx)
Get native thread context
Definition: Wow64Subsystem.cpp:233
virtual NTSTATUS CreateRemoteThreadT(HANDLE &hThread, ptr_t entry, ptr_t arg, CreateThreadFlags flags)
Creates new thread in the remote process
Definition: Wow64Subsystem.cpp:176
virtual NTSTATUS SetProcessInfoT(PROCESSINFOCLASS infoClass, LPVOID lpBuffer, uint32_t bufSize)
Call NtSetInformationProcess for underlying process
Definition: Wow64Subsystem.cpp:159
virtual NTSTATUS SetThreadContextT(HANDLE hThread, _CONTEXT64 &ctx)
Set native thread context
Definition: Wow64Subsystem.cpp:269
WOW64-x64 interface
Definition: Wow64Local.h:17
Definition: Wow64Subsystem.h:9
Definition: NativeStructures.h:442
Definition: AsmHelper32.cpp:6
Definition: NativeStructures.h:412
virtual NTSTATUS VirualFreeExT(ptr_t lpAddress, size_t dwSize, DWORD dwFreeType)
Free virtual memory
Definition: Wow64Subsystem.cpp:49