Как VMMap узнает, что данная область памяти является стеком потоков, в частности?

Я использовал Марка Руссиновича ' s VMMap для отображения виртуальной памяти для процесса, который я анализирую. Используя VirtualQueryEx, я могу обойти пространство внешнего процесса и получить информацию о областях памяти в адресном пространстве процесса. Конечно, эти регионы совпадают с VMMap, но VirtualQueryEx сообщает мне только, зафиксирована ли / зарезервирована / свободна память и является ли она частной / общей / образом.

Я не могу найти никаких других задокументированных способов запроса виртуальной памяти процесса. Кажется, что VMMap знает способ запроса памяти таким образом, чтобы понять, "частные данные" это или "стек потоков". VirtualQueryEx помечает их как MEM_PRIVATE. Так как же VMMap делает это различие?

Есть ли другая функция API, которую я могу использовать для распознавания этих деталей?

8
задан Mike Caron 6 April 2011 в 19:36
поделиться