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

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

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

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

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

Категории

Все категории
Loading categories
voltron — Расширяемый набор инструментов UI для отладчика, предоставляющий настраиваемые представления регистров, дизассемблирования, стека, памяти, точек останова и обратной трассировки для LLDB, GDB, VDB и WinDbg. | Kitploit
Инструменты/GitHubGitHub/snare/voltron
Обратная инженерияОтладчикиУтилиты и фреймворкиАнализ Бинарных Файлов
GitHubsnare/voltron

voltron

Расширяемый набор инструментов UI для отладчика, предоставляющий настраиваемые представления регистров, дизассемблирования, стека, памяти, точек останова и обратной трассировки для LLDB, GDB, VDB и WinDbg.

Репозиторий
6.3k4231 год назадПроверено Kitploit

Популярное

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

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

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

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

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

Voltron

build

Voltron — это расширяемый набор инструментов для отладчика, написанный на Python. Он направлен на улучшение пользовательского опыта различных отладчиков (LLDB, GDB, VDB и WinDbg) за счёт возможности подключения вспомогательных представлений, которые могут получать и отображать данные из хоста отладчика. Запуская эти представления в других терминалах, вы можете создать настроенный пользовательский интерфейс отладчика под свои нужды.

Voltron не стремится быть универсальным инструментом для всех. Это не полная замена командной строке вашего отладчика. Скорее, он дополняет вашу текущую настройку и позволяет расширить CLI-отладчик настолько, насколько вам нужно. Если вы хотите просто видеть содержимое регистров в окне рядом с отладчиком — это возможно. Если вы хотите создать интерфейс, больше напоминающий OllyDbg, — это тоже возможно.

Встроенные представления доступны для:

  • Регистров
  • Дизассемблирования
  • Стека
  • Памяти
  • Точек останова
  • Обратной трассировки

Настройка автора выглядит примерно так:

voltron example LLDB

Любая команда отладчика может быть вынесена в отдельное представление и подсвечена указанным Pygments-лексическим анализатором:

command views

Больше скриншотов здесь.

Поддержка

Voltron поддерживает LLDB, GDB, VDB и WinDbg/CDB (через PyKD) и работает на macOS, Linux и Windows.

Поддержка WinDbg пока относительно новая, пожалуйста, создайте issue, если у вас возникли проблемы.

Поддерживаются следующие архитектуры:

Установка

Примечание: Только macOS и производные Debian полностью поддерживаются установочным скриптом. Он, скорее всего, не завершится ошибкой на других дистрибутивах Linux, но не будет пытаться устанавливать зависимости пакетов. Если вы используете другой дистрибутив, загляните в install.sh, чтобы выяснить, какие зависимости нужно установить перед его запуском.

Скачайте исходный код и запустите установочный скрипт:

root@kitploit:~
$ git clone https://github.com/snare/voltron
$ cd voltron
$ ./install.sh

По умолчанию установочный скрипт устанавливает в каталог site-packages пользователя. Если вы хотите установить в системный каталог site-packages, используйте флаг -s:

root@kitploit:~
$ ./install.sh -s

Вы также можете установить в виртуальное окружение (только для LLDB) следующим образом:

root@kitploit:~
$ ./install.sh -v /path/to/venv -b lldb

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

Быстрый старт

  1. Если в вашем отладчике есть скрипт инициализации (.lldbinit для LLDB или .gdbinit для GDB), настройте его на загрузку Voltron при запуске, выполнив исходный файл точки входа entry.py. Полный путь будет внутри пакета voltron. Например, на macOS это может быть /Library/Python/2.7/site-packages/voltron/entry.py. Скрипт install.sh добавит это в ваш .gdbinit или .lldbinit автоматически, если обнаружит GDB или LLDB в вашем пути.

    LLDB:

    root@kitploit:~
     command script import /path/to/voltron/entry.py
    

    GDB:

    root@kitploit:~
     source /path/to/voltron/entry.py
    
  2. Запустите отладчик и, если необходимо, инициализируйте Voltron вручную.

    На последних версиях LLDB инициализировать Voltron вручную не нужно:

    root@kitploit:~
     $ lldb target_binary
    

    На старых версиях LLDB нужно вызвать voltron init после загрузки отлаживаемого:

    root@kitploit:~

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

Смотрите вики на github.

FAQ

В. Почему при загрузке Voltron я получаю ImportError?

О. Возможно, у вас установлено несколько версий Python, и Voltron был установлен с использованием не той версии. Смотрите более подробные инструкции по установке.

В. GEF? PEDA? PwnDbg? fG's gdbinit?

О. Все это отличные расширения для GDB. Эти инструменты в первую очередь предоставляют наборы дополнительных команд для задач эксплуатации, но каждый из них также предоставляет отображение «контекста» с регистрами, стеком, кодом и т.п., как и Voltron. Эти инструменты выводят свой контекст в консоль отладчика каждый раз, когда отладчик останавливается. Voltron использует другой подход: он встраивает в отладчик сервер RPC и позволяет подключать представления из других терминалов (или даже веб-браузеров, или синхронизироваться с Binary Ninja), что позволяет пользователю создать более чистый многоконный интерфейс для отладчика. Voltron отлично работает вместе со всеми этими инструментами. Вы можете просто отключить отображение контекста в вашем расширении GDB и подключить несколько представлений Voltron, сохраняя все преимущества полезных команд, добавляемых этими инструментами.

Ошибки и неточности

Смотрите трекер задач на github для получения дополнительной информации или для отправки сообщений об ошибках.

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

LLDB

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

WinDbg

Дополнительная информация о поддержке WinDbg/CDB здесь.

Прочее

Авторы в основном используют Voltron с последней версией LLDB на macOS. Мы постараемся протестировать всё на как можно большем количестве платформ и архитектур перед релизами, но комбинация LLDB/macOS/x64 будет, безусловно, самой часто используемой. Надеюсь, Voltron не подожжёт ваших питомцев, но ваш опыт может отличаться (YMMV).

Лицензия

Смотрите файл LICENSE.

Если вы используете это и не ненавидите, купите мне пиво на конференции как-нибудь. Эта лицензия распространяется и на других участников — richo определённо заслужил несколько кружек пива за свой вклад.

Благодарности

Спасибо моим бывшим работодателям Assurance и Azimuth Security за то, что дали мне время поработать над этим.

Респект richo за весь его вклад в Voltron.

gdbinit от fG! стал первоначальным вдохновением для этого проекта.

Спасибо Willi за реализацию поддержки VDB.

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

Спасибо grazfather за постоянный вклад.

Скачать инструмент
lldbgdbvdbwindbg
x86✓✓✓✓
x86_64✓✓✓✓
arm✓✓✓✗
arm64✓✗✗✗
powerpc✗✓✗✗
$ lldb target_binary (lldb) voltron init

GDB:

root@kitploit:~
 $ gdb target_binary

VDB:

root@kitploit:~
 $ ./vdbbin target_binary
 > script /path/to/voltron/entry.py

WinDbg/CDB поддерживается только при запуске через Bash с пользовательским окружением Linux. Автор тестирует с помощью Git Bash и ConEmu. PyKD и Voltron можно загрузить одной командой при запуске отладчика:

root@kitploit:~
 $ cdb -c '.load C:\path\to\pykd.pyd ; !py --global C:\path\to\voltron\entry.py' target_binary
  • В другом терминале (я использую панели iTerm) запустите одно из представлений. На LLDB, WinDbg и GDB представления будут обновляться сразу. На VDB они не будут обновляться, пока отлаживаемый не остановится (на точке останова, после шага и т.д.):

    root@kitploit:~
     $ voltron view register
     $ voltron view stack
     $ voltron view disasm
     $ voltron view backtrace
    
  • Установите точку останова и запустите отлаживаемый.

    root@kitploit:~
     (*db) b main
     (*db) run
    
  • Когда отладчик дойдёт до точки останова, представления обновятся, отражая текущее состояние регистров, стека, памяти и т.д. Представления обновляются после каждой выполненной команды в CLI отладчика с помощью механизма «стоп-хуков». Таким образом, каждый раз, когда вы делаете шаг или продолжаете выполнение и доходите до точки останова, представления обновляются.