
HyperDBG Debugger-это управляемый сообществом, управляемый сообществом, с помощью пользовательского режима и отладчика Windows, с акцентом на использование современных аппаратных технологий. Это отладчик, предназначенный для анализа, размывания и реверса.
Вы можете подписаться на Hyperdbg в Twitter или Mastodon , чтобы получить уведомление о новых выпусках или присоединиться к любой из групп HyperDBG, где вы можете попросить разработчиков и энтузиастов с открытым исходным кодом для помощи в настройке и использовании HyperDBG.
HyperDBG разработан с акцентом на использование современных аппаратных технологий для предоставления новых функций в мире отладчиков. Он работает на вершине Windows, виртуализации уже запущенной системы с использованием Intel VT-X и EPT. Этот отладчик направлен на использование каких -либо API и механизмов отладки программного обеспечения, но вместо этого он широко использует таблицу страниц второго уровня (AKA расширенная таблица страниц или EPT) для мониторинга как ядра, так и пользователей.
Использование распыления TLB и таких функций, как измерение охвата кода и мониторинг всех перемещения (ы) в/из памяти по функции, делает HyperDBG уникальным отладчиком.
Хотя он имеет новые особенности, Hyperdbg старается быть максимально скрытным. Он не использует никаких API-интерфейсов отладки для отладки Windows или любого приложения, поэтому классические методы анти-депутения не обнаруживают их. Кроме того, он сопротивляется использованию методов дельты времени (например, RDTSC/RDTSCP) для обнаружения наличия гипервизоров, что делает его намного труднее для применений, упаковщиков, защитников, вредоносных программ, антишковых двигателей и т. Д., Чтобы обнаружить отладчик.
Вы можете скачать последние скомпилированные двоичные файлы из выпусков ; В противном случае, если вы хотите построить HyperDBG, вы должны клонировать HyperDBG с помощью --recursive флагом.
git clone --recursive https://github.com/HyperDbg/HyperDbg.git
Пожалуйста, посетите Build & установить и быстрое начало для подробного объяснения того, как начать с HyperDBG . Вы также можете увидеть FAQ для получения дополнительной информации, или, если вы ранее использовали других отладчиков, таких как GDB, LLDB или WindBG, вы можете увидеть карту команд.
Серия учебных пособий OpenSecurityTraing2 «Reversing with HyperDBG (DBG3301) », доступная на веб -сайте OST2 ( предпочтительнее ), а YouTube - это рекомендуемый способ начать работу и изучить HyperDBG. Он проводит вас через начальные этапы использования HyperDBG, охватывающего основные концепции, принципы и функции отладки, а также практические примеры и многочисленные методы обратной инженерии, которые являются уникальными для HyperDBG.
Если вы заинтересованы в понимании внутреннего дизайна и архитектуры гипервизоров и Hyperdbg, вы можете прочитать гипервизор из учебников.
Если вы используете один из компонентов HyperDBG в своей работе, пожалуйста, рассмотрите возможность ссылаться на наши документы.
1. Hyperdbg: переосмысление отладки с помощью аппаратного обеспечения (CCS'22) [arxiv]
@inproceedings{karvandi2022hyperdbg,
title={HyperDbg: Reinventing Hardware-Assisted Debugging},
author={Karvandi, Mohammad Sina and Gholamrezaei, MohammadHosein and Khalaj Monfared, Saleh and Meghdadizanjani, Soroush and Abbassi, Behrooz and Amini, Ali and Mortazavi, Reza and Gorgin, Saeid and Rahmati, Dara and Schwarz, Michael},
booktitle={Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security},
pages={1709--1723},
year={2022}
}
2. Реверсирующая машина: реконструкция предположений памяти [arxiv]
@article{karvandi2024reversing,
title={The Reversing Machine: Reconstructing Memory Assumptions},
author={Karvandi, Mohammad Sina and Meghdadizanjani, Soroush and Arasteh, Sima and Monfared, Saleh Khalaj and Fallah, Mohammad K and Gorgin, Saeid and Lee, Jeong-A and van der Kouwe, Erik},
journal={arXiv preprint arXiv:2405.00298},
year={2024}
}
Вы также можете прочитать эту статью, поскольку она описывает общую архитектуру, технические трудности, дизайнерские решения и внутренние внутренности отладчика HyperDBG, в этой статье о наших усилиях по прозрачности VM-EXIT и этой статье о погоне за ошибками в гипервизорах. Больше статей, сообщений и ресурсов доступно в Awesome Repo, и, кроме того, Slides Repo предоставляет слайды презентаций для дальнейшей ссылки.
Вы можете прочитать о внутреннем дизайне HyperDBG и его функциях в документации. Вот диаграмма верхнего уровня, которая показывает, как работает Hyperdbg:
Вы можете написать свои сценарии для автоматизации вашего пути отладки. HyperDBG имеет мощный, быстрый и полностью реализованный сценарий сценария на стороне ядра.
Вклад в HyperDBG очень ценится. Мы составили список потенциальных задач, в которых вы можете быть заинтересованы в участии.
Если вы хотите внести свой вклад в HyperDBG, пожалуйста, прочитайте руководство по взносу.
Hyperdbg , и все его подмодули и репо, если лицензия не указана, лицензированы по лицензии GPLV3 .
Зависимости лицензированы по их собственным.