Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProcessMemoryMap

Утилита предназначена для отображения карты памяти процесса.

Отображает следующие данные:

  • кучи процесса
  • данные по нитям, как то: стек, TEB, SEH фреймы и CallStack
  • информация по подгруженным PE файлам с разбивкой на секции, точки входа в каждый загруженный образ
  • данные из PEB
  • данные из KUSER_SHARED_DATA
  • встроенный x86/x64 дизассемблер (на базе DiStorm 3.3)

Предоставляет возможность поиска блока данных по памяти процесса.

  • Анализ блоков памяти на основе их контрольных сумм.
  • Выводит список экспортируемых функций.
  • Отображает изменения в выделенных блоках памяти (alloc/realloc/free)

###Сборка проекта:

Для самостоятельной сборки потребуется:

Сборка осуществляется с использованием Delphi XE4 и выше в режиме "Win32/Release", при этом автоматически будет собрана и подключена (в виде ресурса) 64-битная версия данной утилиты. Под более старыми версиями Delphi работоспособность ProcessMemoryMap не проверялась.

Внешний вид:

1

Как и в оригинальной утилите от Марка Руссиновича, присутствует фильтрация по типам данных. В данном случае отображаются только те блоки памяти, которые содержат системные данные (KUSER_SHARED_DATA, PEB, etc...)

2

Данные всех поддерживаемых структур размаплены для их более удобного восприятия. К примеру, вот так выглядит отображение блока окружения 64 битного процесса.

3

А вот так выглядит IMAGE_DOS_HEADER

4

Если не известно что за структура мапится на текущий адрес памяти, то данные отобрадаются в RAW режиме. Например вот так выглядит код на точке входа kernel32.dll

5.1

Он же, но в виде дизассемблированного кода (переключение между видами в меню по правой клавише мышки "Show as disassembly" или по горячей клавише Ctrl+D):

5.2

  • Для нагрядности дизассемблерный выхлоп форматирован.
  • Код известных экспортируемых функций предваряется описанием.
  • Выхлоп форматируется дабы не мозолили глаза NOP и INT3 инструкции, выделяется окончание функций (RET/IRET/RETF).

5.3

Присутствует список всех импортируемых/экспортируемых функций (Ctrl+E). К нему добавлен поиск как по адресу, так и по имени функции (поиск по наименованию библиотеки не производится)

7

Ну и вот так выглядит список изменений в выделенных блоках с последней проверки (F5)

8

Ну и много много чего еще интересного.

About

Process Memory Map

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages