Получить выделенные области памяти запущенного процесса - PullRequest
2 голосов
/ 27 октября 2010

Может кто-нибудь сказать мне, как получить с помощью функций WinAPI память выделенных областей памяти какого-либо процесса? Я хочу знать для каждого региона, начальный адрес, размер и некоторые другие вещи, такие как, тип защиты и т. Д.

Я не могу найти функцию WinAPI для этого; - (

Кто-нибудь может мне помочь?

1 Ответ

7 голосов
/ 27 октября 2010

Существует код для грубой силы, используя VirtualQueryEx здесь :

MEMORY_BASIC_INFORMATION    mbi;
/* Get maximum address range from system info */
GetSystemInfo(&si);
/* walk process addresses */
lpMem = 0;
while (lpMem < si.lpMaximumApplicationAddress) {
        VirtualQueryEx(...)
        /* increment lpMem to next region of memory */
        lpMem = (LPVOID)((DWORD)lpList->mbi.BaseAddress +
        (DWORD)lpList->mbi.RegionSize);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...