В коде, который создает процесс в приостановленном состоянии и отображает память программы, я часто вижу следующий код:
ZwUnmapViewOfSection(remoteProcessInfo->hProcess, static_cast<PVOID>(remoteImageBaseAddress))
Согласно документации MSDN, ZwUnmapViewOfSection
отображает один раздел, содержащий remoteImageBaseAddress
.
Тем не менее, двоичные файлы PE имеют несколько разделов (.text
, .data
и т. Д.), Поэтому этот вызов не отображает только один из них?
Что мне не хватает? Я также не понимаю, почему remoteImageBaseAddress
(базовый адрес) указан в качестве аргумента, так как этот адрес не принадлежит разделу .text
(исполняемый код).