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

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

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

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

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

Категории

Все категории
Loading categories
flare-qdb — Командная строка и отладчик Python для инструментирования и изменения поведения нативного программного обеспечения на Windows и Linux. | Kitploit
Инструменты/GitHubGitHub/mandiant/flare-qdb
Динамический анализ (песочница)Обратная инженерияСкриптинг и автоматизацияОтладчикиАнализ вредоносных программАнализ Бинарных ФайловArchived
GitHubmandiant/flare-qdb

flare-qdb

Командная строка и отладчик Python для инструментирования и изменения поведения нативного программного обеспечения на Windows и Linux.

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

Популярное

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

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

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

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

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

FireEye Labs Query-Oriented Debugger

flare-qdb — это инструмент на основе Python с возможностью командной строки и скриптования для оценки и манипуляции состоянием нативной программы. Он использует Vivisect для установки точки останова на каждом запрашиваемом инструкции и выполняет Python-код при срабатывании.

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

Вот несколько примеров точечных вопросов, на которые может ответить flare-qdb:

  • Всегда ли eax равен этому значению в этой точке?
  • Чему был равен eax до этого ветвления?
  • Какие значения будет принимать эта строка на протяжении этого цикла?
  • На первой итерации внутреннего цикла, какой базовый адрес используется?
  • Дойдет ли программа вообще до этой логики?
  • Какой код выполняется первым?
  • Зависит ли количество итераций цикла от значения argv[1]?
  • Могу ли я изменить аргументы командной строки, чтобы избежать этого условия?

flare-qdb также может использоваться для автоматизированного, повторяемого манипулирования выполнением программы. Вот несколько примеров полезных применений:

  • Выполнение декодера строк с разными аргументами для быстрого извлечения всех строк, используемых образцом вредоносного ПО.
  • Переопределение аргументов Sleep() для быстрого итеративного тестирования собственного сервера управления и контроля (C2).
  • Сообщение инструменту повышения привилегий, что его уровень целостности равен 0x1000 (), чтобы побудить его выполнить эксплойт.
MANDATORY_LOW_RID
  • Повторяемая автоматизация распаковки упаковщика, который переходит на одну или несколько недетерминированных областей кучи.
  • flare-qdb принимает несколько запросов в форме программного счетчика или выражения Vivisect в паре с некоторым Python-текстом для вычисления в среде скриптования flare-qdb. Выражения Vivisect можно использовать для указания простых постоянных значений программного счетчика, таких как "0x401000", символьных выражений, таких как "kernel32.Sleep", и т.д. Выражения Vivisect также могут включать состояние регистров и памяти для формулирования сложных условий, например "not eax or (( edx > 3) and (poi(ebp-8) < 5))".

    Формат аргумента командной строки для этого:

    root@kitploit:~
    -at <vexpr-pc> <pythontext>
    

    flare-qdb также поддерживает условное вычисление на основе истинностного значения выражения Vivisect:

    root@kitploit:~
    -at-if <vexpr-pc> <vexpr-conds> <pythontext>
    

    flare-qdb предоставляет несколько встроенных функций для удобной отладки, которые доступны как из командной строки, так и в качестве методов его класса Qdb.

    flare-qdb в основном тестировался на Windows, но работает и на Linux. К сожалению, порт Darwin класса vtrace.Trace от Vivisect неполный, поэтому flare-qdb не поддерживает OSX.

    Примеры скриптов

    flare-qdb поставляется с De-DOSfuscator — инструментом для декодирования обфусцированных пакетных файлов путем их выполнения. Подробности можно найти в Руководстве по De-DOSfuscator или прочитав блог Cmd and Conquer: De-DOSfuscation with flare-qdb.

    Подробная информация

    Информация об установке flare-qdb доступна в Руководстве по установке.

    Информация об использовании flare-qdb из командной строки доступна в Руководстве по использованию командной строки.

    Информация о скриптовании с flare-qdb доступна в Руководстве по скриптованию. Методы класса Qdb, специфичные для скриптования flare-qdb, можно найти в Справочнике методов.

    Полная справка по встроенным функциям flare-qdb (доступным как из CLI, так и в качестве методов экземпляра) доступна в Справочнике встроенных функций или после установки flare-qdb, набрав flareqdb --help-builtins.

    Документация по De-DOSfuscator находится в Руководстве по De-DOSfuscator.

    Информация по устранению неполадок находится в Руководстве по устранению неполадок.

    Благодарности и мысли о будущем функционале, который может быть полезен, можно найти в Заметках.

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