VirtualQueryEx[MSDN]
SIZE_T VirtualQueryEx( HANDLE hProcess, LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength );
VritualQueryEx을 사용하여 사용이 가능/불가능한 페이지를 구분할 수 있다.
분석
_In_ hProcess
OpenProcess함수 등을 통해 얻을 수 있는 프로세스 handle
_In_opt_ lpAddress
프로세스의 Base Address
GetSystemInfo함수 등을 사용하여 가져올 수 있다.
_Out_ lpBuffer
데이터가 반환되는 M.B.I. 포인터
_In_ dwLength
lpBuffer의 크기
Return
함수의 호출이 성공적이면 MBI의 크기가 return된다.