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

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

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

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

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

Категории

Все категории
Loading categories
tenet — Обозреватель трассировок для реверс-инженеров | Kitploit
Инструменты/GitHubGitHub/gaasedelen/tenet
Динамический анализ (песочница)Обратная инженерияОтладчикиАнализ Бинарных Файлов
GitHubgaasedelen/tenet

tenet

Обозреватель трассировок для реверс-инженеров

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

Популярное

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

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

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

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

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

Tenet - Исследователь трасс для реверс-инженеров

Tenet Исследователь трасс

Обзор

Tenet — это плагин для IDA Pro, предназначенный для исследования трасс выполнения. Цель этого плагина — предоставить более естественные, человеческие средства управления для навигации по трассам выполнения в рамках заданной бинарной программы. Основой этой работы послужило желание исследовать новые или инновационные методы анализа и выделения сложных паттернов выполнения в программном обеспечении.

Для дополнительного контекста об этом проекте, пожалуйста, прочитайте статью в блоге, посвящённую его первому выпуску.

Особая благодарность QIRA / geohot и другим за вдохновение.

Релизы

  • v0.2 — Определение базы образа, визуализация ячеек, рефакторинг точек останова, исправление ошибок.
  • v0.1 — Первоначальный выпуск

Установка

Tenet — это кроссплатформенный (Windows, macOS, Linux) плагин на Python 3. Он не имеет сторонних зависимостей, что делает код как переносимым, так и простым в установке.

  1. В консоли Python вашего дизассемблера выполните следующую команду, чтобы узнать путь к каталогу плагинов:

    • IDA Pro: import idaapi, os; os.path.join(idaapi.get_user_idadir(), "plugins")
  2. Скопируйте содержимое папки /plugins/ этого репозитория в указанный каталог.

  3. Перезапустите ваш дизассемблер.

Этот плагин поддерживается только для IDA 7.5 и новее.

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

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

Загрузить трассу Tenet

Поскольку это первый выпуск, Tenet принимает только простые текстовые трассы, читаемые человеком. Пожалуйста, обратитесь к readme по трассировке в этом репозитории для получения дополнительной информации о формате трасс, ограничениях и эталонных трассировщиках.

Двунаправленное исследование

При использовании Tenet плагин будет «окрашивать» следы, чтобы показать поток выполнения вперед (синим) и назад (красным) от вашей текущей позиции в активной трассе выполнения.

Следы Tenet

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

Временная шкала трассы

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

Увеличение временной шкалы трассы

Кликая и перетаскивая по временной шкале, можно увеличить конкретный участок трассы выполнения. Это действие можно повторять любое количество раз для достижения желаемой детализации.

Точки останова выполнения

Двойной клик по указателю инструкции в окне регистров выделит его красным, показывая все места, где эта инструкция была выполнена на временной шкале трассы.

Установка точки останова на текущую инструкцию

Чтобы переключаться между выполнениями, прокручивайте вверх или вниз, наведя курсор на выделенный указатель инструкции.

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

Переход к первому выполнению инструкции

Собственная горячая клавиша IDA F2 также может использоваться для установки точек останова на произвольные инструкции.

Точки останова памяти

Двойным щелчком по байту в представлении стека или памяти вы мгновенно увидите все чтения/записи по этому адресу, визуализированные на временной шкале трассы. Желтый цвет обозначает чтение памяти, синий — запись памяти.

Исследование обращений к памяти с помощью точек останова памяти

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

Щелчок правой кнопкой мыши по интересующему байту даст вам возможность переключения между чтением/записью/доступом к памяти, если у вас есть конкретное навигационное действие.

Поиск по памяти

Чтобы переместить представление памяти на произвольный адрес, щелкните на представлении памяти и нажмите G, чтобы ввести адрес или символ базы данных для поиска.

Региональные точки останова

Можно установить точку останова памяти на область памяти, выделив блок памяти и дважды щелкнув по нему, чтобы установить точку останова на доступ.

Точки останова доступа к области памяти

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

Поиск по регистрам

В реверс-инжиниринге довольно часто возникают ситуации, когда вы спрашиваете себя: "Какая инструкция установила этот регистр в его текущее значение?"

Используя Tenet, вы можете перейти назад к этой инструкции одним щелчком.

Переход к предыдущей записи в регистр

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

Оболочка временных меток

Предоставляется простая «оболочка» для перехода к конкретным временным меткам в трассе. Вставка (или ввод...) временной метки в оболочку с запятыми или без них будет достаточной.

Перемещение по трассе с помощью оболочки временных меток

Используя восклицательный знак, вы также можете перейти на указанный «процент» трассы. Ввод !100 перенесет вас к последней инструкции в трассе, а !50 — примерно на 50% пути по трассе. !last перенесет к последней доступной для навигации инструкции, которую можно просмотреть в дизассемблере.

Темы

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