@@ -74,6 +74,30 @@ BOOL winapi_kernel32_VirtualProtectEx(HANDLE hProcess, LPVOID lpAddress, SIZE_T
7474 return FALSE;
7575}
7676
77+ SIZE_T winapi_kernel32_VirtualQuery (LPCVOID lpAddress , PMEMORY_BASIC_INFORMATION lpBuffer ,SIZE_T dwLength ) {
78+ SIZE_T (* pVirtualQuery )(LPCVOID lpAddress , PMEMORY_BASIC_INFORMATION lpBuffer ,SIZE_T dwLength ) = GetFunction (KERNEL32_DLL , "VirtualQuery" );
79+ if (pVirtualQuery ) {
80+ return pVirtualQuery (lpAddress , lpBuffer , dwLength );
81+ }
82+ return 0 ;
83+ }
84+
85+ SIZE_T winapi_kernel32_VirtualQueryEx (HANDLE hProcess , LPCVOID lpAddress , PMEMORY_BASIC_INFORMATION lpBuffer , SIZE_T dwLength ) {
86+ SIZE_T (* pVirtualQueryEx )(HANDLE hProcess , LPCVOID lpAddress , PMEMORY_BASIC_INFORMATION lpBuffer , SIZE_T dwLength ) = GetFunction (KERNEL32_DLL , "VirtualQueryEx" );
87+ if (pVirtualQueryEx ) {
88+ return pVirtualQueryEx (hProcess , lpAddress , lpBuffer , dwLength );
89+ }
90+ return 0 ;
91+ }
92+
93+ BOOL winapi_kernel32_VirtualFree (LPVOID lpAddress , SIZE_T dwSize , DWORD dwFreeType ) {
94+ BOOL (* pVirtualFree )(LPVOID lpAddress , SIZE_T dwSize , DWORD dwFreeType ) = GetFunction (KERNEL32_DLL , "VirtualFree" );
95+ if (pVirtualFree ) {
96+ return pVirtualFree (lpAddress , dwSize , dwFreeType );
97+ }
98+ return FALSE;
99+ }
100+
77101HANDLE winapi_kernel32_CreateRemoteThread (HANDLE hProcess , LPSECURITY_ATTRIBUTES lpThreadAttributes , SIZE_T dwStackSize , LPTHREAD_START_ROUTINE lpStartAddress , LPVOID lpParameter , DWORD dwCreationFlags , LPDWORD lpThreadId ) {
78102 HANDLE (* pCreateRemoteThread )(HANDLE hProcess , LPSECURITY_ATTRIBUTES lpThreadAttributes , SIZE_T dwStackSize , LPTHREAD_START_ROUTINE lpStartAddress , LPVOID lpParameter , DWORD dwCreationFlags , LPDWORD lpThreadId ) = GetFunction (KERNEL32_DLL , "CreateRemoteThread" );
79103 if (pCreateRemoteThread ) {
0 commit comments