Windows, как показать сегмент памяти процесса?

У нас есть такие инструменты, как objdump, readelf и dumbin для отображения содержимого исполняемых файлов.

Но когда исполняемый файл загружается в память (создается процесс), сегменты в памяти обычно отличаются от сегментов в исполняемом файле. Например, при загрузке выделяются два дополнительных сегмента, а именно стек и куча (здесь мы пропускаем детали отображения страниц).

Существует ли инструмент, который помогает отображать сегмент памяти / состояние процесса во времени?

1 ответ

Решение

Исполняемые файлы Windows используют формат Portable Executable. Этот формат описывает разделы памяти, которые выделяются при загрузке процесса, и, необязательно, необработанные данные (.text, .data разделы) для загрузки в эти разделы.

Каждый раздел обычно имеет смещение файла, указывающее, где в необработанном файле находятся данные, и виртуальный адрес, по которому данные будут загружены. Они могут или не могут напоминать друг друга.

PE Explorer может предоставить вам подробную информацию о разделах (и обо всем остальном о PE-файле) исполняемого файла.

Immunity Debugger позволит вам подключиться к запущенному процессу и увидеть его карту памяти.

Другие вопросы по тегам