Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
heaptrace — помогает визуализировать операции с кучей для pwn и отладки | Kitploit
Инструменты/GitHubGitHub/arinerron/heaptrace
Криминалистика памятиОтладчикиCTFАнализ Бинарных Файлов
GitHubarinerron/heaptrace

heaptrace

помогает визуализировать операции с кучей для pwn и отладки

Репозиторий
330193 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Описание

heaptrace — это отладчик кучи для отслеживания операций с кучей glibc в ELF64 (x86_64) бинарных файлах. Его цель — помочь визуализировать операции с кучей при отладке бинарников или проведении heap pwn.

screenshot.png

  • заменяет адреса на понятные символы
  • обнаруживает проблемы повреждения кучи и утечки памяти
  • может выполнять отладку в gdb в любой точке (--break)
  • поддерживает все ELF64 (x86_64) бинарники независимо от ASLR или настроек компилятора (в том числе stripped-бинарники)

Чем отличаются heaptrace и valgrind?

Установка

Официальные релизы

Смотрите .deb и .rpm файлы релизов, а также предварительно скомпилированный бинарник на странице релизов.

Ubuntu PPA

root@kitploit:~
$ sudo add-apt-repository ppa:arinerron/heaptrace
$ sudo apt-get update
$ sudo apt-get install heaptrace

Arch User Repository (PKGBUILD)

Используйте предпочитаемый AUR-помощник для установки одного из двух следующих пакетов:

  • heaptrace-git — пакет из исходников (PKGBUILD)
  • heaptrace — бинарный пакет (PKGBUILD)
root@kitploit:~
$ trizen -S heaptrace-git
... ИЛИ ...
$ trizen -S heaptrace

Сборка из исходников

root@kitploit:~
$ git clone https://github.com/Arinerron/heaptrace.git && cd heaptrace
$ make
$ sudo make install
...
$ heaptrace ./target

Использование

Вы можете указать аргументы для heaptrace перед указанием имени бинарника:

root@kitploit:~
Usage:
  heaptrace [options...] <target> [args...]
  heaptrace [options...] --attach <pid>

Options:
  -p <pid>, --attach <pid>, --pid <pid>
	 Tells heaptrace to attach to the specified pid 
	 instead of running the binary from the `target` 
	 argument. Note that if you specify this argument 
	 you do not have to specify `target`.


  -b <expression>, --break=<expression>, --break-at=<expression>
	 Send SIGSTOP to the process when the specified 
	 `expression` is satisfied and attach the GNU debugger 
	 (gdb) to the process.

	 This argument supports complex expressions. Please 
	 See the documentation for more information: 
	 https://github.com/Arinerron/heaptrace/wiki/How-to-Create-Breakpoints


  -B <expression>, --break-after=<expression>
	 Similar to `--break`. Replaces the tracer 
	 process with gdb, but only after the heap function 
	 returns. See the documentation for more information: 
	 https://github.com/Arinerron/heaptrace/wiki/How-to-Create-Breakpoints


  -e <name=value>, --environ=<name=value>, --environment=<name=value>
	 Sets a single environmental variable. Useful for 
	 setting runtime settings for the target such as 
	 LD_PRELOAD=./libc.so.6 without having them affect 
	 heaptrace's runtime configuration. This option can 
	 be used multiple times.


  -s <sym_defs>, --symbols=<sym_defs>
	 Override the values heaptrace detects for the 
	 malloc/calloc/free/realloc/reallocarray symbols. 
	 Useful if heaptrace fails to automatically 
	 identify heap functions in a stripped binary. See 
	 the wiki for more info.


  -F, --follow-fork, --follow
	 Tells heaptrace to detach the parent and follow 
	 the child if the target calls fork(), vfork(), or 
	 clone().

	 The default behavior is to detach the child and 
	 only trace the parent.


  -G <path>, --gdb-path <path>
	 Tells heaptrace to use the path to gdb specified 
	 in `path` instead of /usr/bin/gdb (default).


  -w <width>, --width=<width>, --term-width=<width>
	 Force a certain terminal width.


  -o <file>, --output=<file>
	 Write the heaptrace output to `file` instead of 
	 /dev/stderr (which is the default output path).


  -v, --verbose
	 Prints verbose information such as line numbers in
	 source code given the required debugging info is
	 stored in the ELF.


  -V, --version
	 Displays the current heaptrace version.


  -h, --help
	 Shows this help menu.

  • Например, если вы хотите автоматически подключить gdb на операции #3, выполните heaptrace --break=3 ./my-binary. Пожалуйста, обратитесь к документации вики для получения дополнительной информации об использовании этого аргумента.
  • Смотрите документацию вики для получения дополнительной информации об использовании аргумента -s/--symbol для отладки stripped-бинарников, в которых heaptrace не смог автоматически идентифицировать функции.
  • Установите переменную $NO_COLOR, чтобы удалить ANSI-цветовые коды из вывода. Эта опция ещё разрабатывается и вскоре будет преобразована в аргумент.

Поддержка

Я буду рад помочь, если вы столкнулись с ошибкой или у вас есть отзывы. Пожалуйста, посетите страницу GitHub Issues.

Скачать инструмент