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

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

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

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

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

Категории

Все категории
Loading categories
memoro — Memoro: Детальный профилировщик кучи | Kitploit
Инструменты/GitHubGitHub/epfl-vlsc/memoro
Динамический анализ (песочница)Криминалистика памятиОтладчикиАнализ Бинарных Файлов
GitHubepfl-vlsc/memoro

memoro

Memoro: Детальный профилировщик кучи

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

Популярное

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

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

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

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

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

Memoro

Memoro — это высокодетализированный профилировщик кучи.

Memoro не только показывает, где и когда ваша программа выделяет память в куче, но и как ваша программа на самом деле использует эту память.

Memoro собирает подробную информацию об обращениях к куче, включая чтение и запись в память и время их выполнения, чтобы дать вам представление о том, насколько эффективно ваша программа использует память кучи.

Memoro включает в себя приложение-визуализатор, которое преобразует всю эту информацию в оценки и индикаторы, помогающие определить проблемные области.

alt text

Для получения более подробной информации о том, как работает Memoro, см. здесь

Сборка и установка

Ниже приведены шаги для быстрого начала работы с Memoro. Подробные инструкции по установке см. здесь. Руководство по использованию Memoro см. здесь.

Сборка инструментированного компилятора

Сначала вам нужно собрать локальную версию LLVM/Clang, чтобы можно было скомпилировать ваш код с инструментацией Memoro. Готовых сборок пока нет, но если достаточное количество людей попросит, возможно, я размещу их здесь.

Следуйте инструкциям по сборке LLVM/Clang здесь, но используйте указанные ниже репозитории. Memoro пока нет в ветке разработки LLVM/Clang.

Рекомендуется использовать зеркала git вместо SVN. Для основного репозитория LLVM, репозитория Clang и репозитория CompilerRT используйте версии Memoro:

LLVM

Clang

CompilerRT

В этих репозиториях по умолчанию должна быть ветка memoro_80.

Сборка библиотеки визуализатора на C++

Клонируйте этот репозиторий с помощью git clone [email protected]:epfl-vlsc/memoro.git

Перейдите в каталог.

$ cd memoro

Выполните npm install, чтобы убедиться, что все зависимости JavaScript присутствуют. Затем вам нужно будет собрать дополнение для обработки данных на C++. Для этого может потребоваться сначала установить node-gyp (npm install -g node-gyp). Затем выполните:

root@kitploit:~
cd cpp
node-gyp build --release --target=1.7.9 --arch=x64 --dist-url=https://atom.io/download/electron
cd ..

target — это версия Electron, которая должна соответствовать используемой для запуска основного приложения. При необходимости откорректируйте это значение. При необходимости измените arch, однако я еще не тестировал на системах, отличных от *nix x64. Также есть Makefile, который должен подойти большинству пользователей.

Очевидно, для node-gyp требуется установленный компилятор C++.

Запуск

Инструментирование и запуск вашего программного обеспечения

Сначала соберите программу, которую хотите профилировать, с помощью собранного ранее LLVM/Clang. Добавьте флаг компилятора -fsanitize=memoro для инструментации и, опционально, -fno-omit-frame-pointer для получения качественных стек-трейсов. Если у вас есть отдельный этап компоновки, он также может потребовать -fsanitize=memoro, чтобы убедиться, что среда выполнения Memoro/Sanitizer связана. Рекомендуется использовать символизатор LLVM для стек-трейсов: установите переменную окружения MEMORO_SYMBOLIZER_PATH, указывающую на расположение llvm-symbolizer. Либо просто поместите его в PATH.

Запустите вашу программу. После завершения выполнения среда выполнения Memoro создаст два файла: *.trace и *.chunks. Их можно открыть и просмотреть с помощью визуализатора.

Использование визуализатора Memoro

После сборки дополнения C++ приложение можно запустить непосредственно из каталога репозитория:

root@kitploit:~
electron .

Файл->Открыть или Cmd/Ctrl-O, чтобы открыть, перейти и выбрать файл трассировки или фрагментов.

Удачной охоты за проблемами с кучей :-)

Установка визуализатора

Используйте electron-packager, чтобы собрать и экспортировать весь код и ресурсы в пакет приложения.

root@kitploit:~
electron-packager . --overwrite --platform=<platform> --arch=x64 --electron-version=1.7.9 --icon=assets/icons/icon64.icns --prune=true --out=release-builds

При необходимости снова откорректируйте платформу, архитектуру и версию Electron.

Вклад

Вклад приветствуется. Пожалуйста, отправьте запрос на включение (pull request) или свяжитесь со мной.

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