
HyperDbg v0.23
Передовые нативные инструменты отладки
HyperDbg Debugger

HyperDbg Debugger — это отладчик с открытым исходным кодом на основе гипервизора для Windows (поддержка Linux в настоящее время в разработке!) с поддержкой отладки как в пользовательском режиме, так и в режиме ядра (нативной). Он создан для реверс-инжиниринга, фаззинга и продвинутого анализа систем с использованием современных возможностей аппаратной виртуализации и трассировки.
Вы можете следить за HyperDbg в Twitter или Mastodon, чтобы узнавать о новых релизах, или присоединиться к любой из групп HyperDbg, где можно обратиться за помощью по настройке и использованию HyperDbg к разработчикам и энтузиастам реверс-инжиниринга из open-source-сообщества.
Описание
HyperDbg построен на основе современных технологий аппаратной виртуализации и предоставляет возможности, выходящие за рамки традиционных отладчиков. Он работает поверх операционной системы, виртуализируя уже запущенную систему с помощью Intel VT-x и расширенных таблиц страниц (EPT). Сочетая виртуализацию с передовыми технологиями трассировки, такими как Intel Processor Trace (Intel PT), HyperDbg обеспечивает мощные возможности трассировки и Virtual Machine Introspection (VMI).
Основные возможности
HyperDbg предоставляет широкий набор расширенных функций отладки, включая несколько видов скрытых хуков на основе EPT. Он может эмулировать аппаратные точки останова по данным для мониторинга чтений, записей и выполнений в заданных диапазонах адресов, оставаясь незаметным как для операционной системы, так и для целевых приложений. В отличие от аппаратных отладочных регистров, эти средства мониторинга не ограничены количеством доступных отладочных регистров или ограничениями по размеру.
Кроме того, HyperDbg способен отслеживать выполнение на различных уровнях привилегий, включая переходы из пользовательского режима в режим ядра (например, через системные вызовы, heaven's gate, сбои (faults), исключения и прерывания), из ядра в драйверы устройств и обратно из режима ядра в пользовательский режим, что обеспечивает всесторонний анализ всего потока выполнения.
Кроме того, HyperDbg поддерживает хуки системных вызовов, трассировку потока управления с помощью аппаратных средств трассировки и всесторонний мониторинг операций ввода-вывода, включая ввод-вывод с отображением в память (MMIO) и портовый ввод-вывод (PMIO), что позволяет детально анализировать взаимодействие с устройствами и внешними периферийными устройствами.
Помимо этого, HyperDbg включает большую коллекцию дополнительных событий, специально предназначенных для реверс-инжиниринга, анализа вредоносных программ и низкоуровневого анализа программ. Полный список поддерживаемых событий и их документацию см. в полном списке возможностей.
HyperDbg спроектирован для максимально скрытной работы. Он не использует никаких отладочных API для отладки операционной системы или каких-либо приложений, поэтому классические методы антиотладки не смогут его обнаружить. Он также включает специализированный модуль, предназначенный для повышения его скрытности. Этот модуль отслеживает попытки обнаружить присутствие гипервизора или отладчика и применяет различные методы, чтобы сначала сообщить о таких механизмах обнаружения, а затем смягчить или обойти их. Хотя полная незаметность не может быть гарантирована во всех сценариях, эти функции значительно повышают сложность обнаружения HyperDbg, делая существенно более трудным для приложений, упаковщиков, протекторов ПО, вредоносных программ, античит-систем и других механизмов безопасности выявление его присутствия.
Почему HyperDbg?
HyperDbg сложнее настроить и использовать, а также требует более глубоких знаний о низкоуровневых системах по сравнению с традиционными отладчиками. Тем не менее, он предоставляет два главных преимущества:
-
Полный контроль над системой и ОС
HyperDbg работает на уровне гипервизора, предоставляя вам мощные возможности, которые просто невозможны с классическими отладчиками. Это позволяет использовать аппаратно-поддерживаемые функции для продвинутых сценариев реверс-инжиниринга и отладки. -
Скрытность и устойчивость к обнаружению
Поскольку HyperDbg не полагается на стандартные отладочные API ОС, его в целом гораздо сложнее (хотя и не невозможно) обнаружить. Это делает его отличным выбором при работе против антиотладочных защит.
Эти преимущества открывают совершенно новые техники отладки и реверс-инжиниринга, выходящие за пределы возможностей обычных отладчиков.
Сборка и установка
Вы можете скачать последние скомпилированные бинарные файлы из релизов; в противном случае, если вы хотите собрать HyperDbg, следует клонировать HyperDbg с флагом --recursive.```
git clone --recursive https://github.com/HyperDbg/HyperDbg.git
Пожалуйста, посетите **[Build & Install](https://docs.hyperdbg.org/getting-started/build-and-install)** и **[Quick Start](https://docs.hyperdbg.org/getting-started/quick-start)** для получения подробных объяснений о том, как начать работу с **HyperDbg**. Вы также можете обратиться к **[FAQ](https://docs.hyperdbg.org/getting-started/faq)** за дополнительной информацией или, если вы ранее использовали другие нативные отладчики, такие как GDB, LLDB или WinDbg, посмотреть [карту команд](https://hyperdbg.github.io/commands-map).
## Обучающие материалы
