Windows 10 x64: невозможно получить PXE на Windbg - PullRequest
0 голосов
/ 24 октября 2018

Не могу понять, как работает диспетчер памяти Windows.Я смотрю на прикрепленный пользовательский процесс (dbgview.exe).Это WOW64-процесс.По указанному адресу (0x76560000) находится секция .text модуля kernel32.dll (также WOW64).Почему в таблице страниц процесса нет PTE и других таблиц, указывающих на эти виртуальные адреса?

kd> db 76560000
00000000`76560000  8b ff 55 8b ec 51 56 57-33 f6 89 55 fc 56 68 80  ..U..QVW3..U.Vh.
<...>

kd> !pte 76560000
                                           VA 0000000076560000
PXE at FFFFF6FB7DBED000    PPE at FFFFF6FB7DA00008    PDE at FFFFF6FB40001D90    PTE at FFFFF680003B2B00
Unable to get PXE FFFFF6FB7DBED000

kd> db FFFFF680003B2B00 
fffff680`003b2b00  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ?? ???????????????
<...>

Я знаю, что страницы будут выделяться после первого доступа (с ошибкой страницы), но почемупрототип PTE тоже нет?

1 Ответ

0 голосов
/ 26 октября 2018

Я обнаружил, что после Windows 10 Anniversary Update (1607, 10.0.14393) таблица PML4 была рандомизирована для уменьшения разбрызгивания кучи ядра.Это означает, что, вероятно, Page Table не размещен в 0xFFFFF6800000.

...