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

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

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

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

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

Категории

Все категории
Loading categories
hyperpom — AArch64 фаззер на основе гипервизора Apple Silicon | Kitploit
Инструменты/GitHubGitHub/impalabs/hyperpom
Динамический анализ (песочница)Анализ уязвимостейВиртуализация для безопасностиФаззингАнализ Бинарных Файлов
GitHubimpalabs/hyperpom

hyperpom

AArch64 фаззер на основе гипервизора Apple Silicon

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

Популярное

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

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

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

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

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

логотип hyperpom

HYPERPOM
Библиотека для фаззинга AArch64 на основе гипервизора Apple Silicon


shields.io license shields.io version shields.io platform
shields.io rust version shields.io crates.io shields.io crates.io


Содержание

  • Предупреждение
  • Начало работы
    • Предварительные требования
    • Самоподписанные бинарные файлы и энтайтлмент гипервизора
    • Процесс компиляции
  • Документация
  • Примеры
  • Запуск тестов
  • Авторы

Hyperpom — это фреймворк для фаззинга на основе покрытия и мутаций, построенный поверх гипервизора Apple Silicon. Он спроектирован для простой инструментации и фаззинга AArch64-бинарных файлов пользовательского режима.

⚠️ Предупреждение

Идея этого проекта заключалась в создании эффективного и быстрого фаззера, использующего возможности Apple Silicon. Однако на данном этапе, хотя фаззер и работает, он всё ещё по большей части является доказательством концепции и требует огромного количества доработок для улучшения функциональности, удобства использования и производительности.

Возможно, этого будет достаточно для ваших задач, но имейте в виду, что вы можете столкнуться с ограничениями, которые не были учтены при проектировании проекта. В любом случае, не стесняйтесь открывать issue, и мы постараемся решить вашу проблему.

Начало работы

Предварительные требования

  1. Установите Rust и rustup, следуя официальному руководству.
  2. Установите nightly-канал.
rustup toolchain install nightly
  1. Чтобы использовать этот канал при компиляции, вы можете либо:

    • установить его по умолчанию с помощью rustup default nightly;
    • либо добавлять +nightly каждый раз при компиляции бинарного файла с помощью cargo.
  2. Установите Cmake, например с помощью brew:

brew install cmake

Самоподписанные бинарные файлы и энтайтлмент гипервизора

Чтобы получить доступ к Hypervisor Framework, исполняемому бинарному файлу должен быть предоставлен энтайтлмент гипервизора.

Вы можете добавить этот энтайтлмент к бинарному файлу, расположенному по пути /path/to/binary, используя файл entitlements.xml, находящийся в корне репозитория Hyperpom, и следующую команду:

codesign --sign - --entitlements entitlements.xml --deep --force /path/to/binary

Процесс компиляции

Создайте проект Rust и добавьте Hyperpom в качестве зависимости в Cargo.toml. Вы можете либо загрузить его с crates.io ...

# Check which version is the latest, this part of the README might not be updated
# in future releases.
hyperpom = "0.1.0"

... либо напрямую из репозитория GitHub.

hyperpom = { git="https://github.com/impalabs/hyperpom", branch="master" }

Создайте файл с именем entitlements.txt в корневом каталоге проекта и добавьте следующее:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.hypervisor</key>
    <true/>
</dict>
</plist>

Напишите код, а затем соберите проект.

cargo build --release

Подпишите бинарный файл и предоставьте ему энтайтлмент гипервизора.

codesign --sign - --entitlements entitlements.xml --deep --force target/release/${PROJECT_NAME}

Запустите бинарный файл.

target/release/${PROJECT_NAME}

Документация

Документация доступна онлайн по следующему адресу: https://docs.rs/hyperpom

Кроме того, вы можете сгенерировать её с помощью cargo:

cargo doc --open

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

Примеры

Предоставлены четыре примера, которые помогут вам лучше понять, как работает фреймворк, и начать работу:

  • simple_executor: демонстрирует, как запускать произвольный код в виртуальной машине с помощью Executor.
  • simple_tracer: запускает программу с трассировкой её инструкций.
  • simple_fuzzer: фаззит простую программу.
  • upng_fuzzer: фаззер для библиотеки uPNG.

Вы также можете посмотреть тесты.

Запуск тестов

Чтобы запустить тесты с помощью Makefile, входящего в состав проекта, сначала потребуется установить jq. Это можно сделать с помощью brew:

brew install jq

Затем вы можете запустить тесты с помощью Makefile, используя следующую команду:

make tests

Авторы

  • Maxime Peterlin - [email protected]
Скачать инструмент