10 ответов:
.gdbinit
вы можете настроить ваш
~/.gdbinitцветов. Вы можете использовать маммоны.gdbinitздесь:https://github.com/gdbinit/gdbinit
вы можете настроить его так, как вам хотелось бы. Я нашел это благодаря это так ответ. Вот вид вывода, который вы можете получить:
репозиторий GitHub также доступен: https://github.com/gdbinit/Gdbinit
на боковой ноте, та же идея была также применяется к lldb.
приборная панель GDB
Следуя той же концепции, GDB Dashboard обеспечивает модульный визуальный интерфейс для GDB в Python.
(ничтожным)Уокер
другой подобный проект использует поддержку Python GDB для обеспечения большей расширяемости, поэтому это стоит выезд:https://github.com/dholm/voidwalker
@dholm также предоставляет свой собственный .gdbinit вдохновлен предыдущим.
pwndbg
некоторые проекты предоставляют набор полезных функций, в том числе улучшенный дисплей. Это относится к педа или pwndbg. Последний дает следующее описание:
замена педа. В духе нашего доброго друга
windbg,pwndbgпроизноситсяpwnd-bag.
- скорость
- устойчивость
- код
он предоставляет команды для поддержки отладки и разработки эксплойтов, аналогичные тем, что есть в PEDA, и лучшего отображения (хотя это не является основным направлением проекта). Программное обеспечение все еще находится в стадии разработки, и не был должным образом освобожден еще.
Вольтрон
The проект описание государства:
Voltron-это расширяемый интерфейс отладчика для хакеров. Это позволяет присоедините к отладчику служебные представления, запущенные в других терминалах (LLDB или GDB), отображение полезной информации, такой как разборка, стек содержание, регистровые значения и т. д., все еще давая вам то же самое отладчик командной строки вы привыкли к.
вы можете изменить свой
.gdbinitдля автоматической интеграции. Однако сам дисплей находится за пределами GDB (например, в tmux split).ФГОС
ФГОС это еще один вариант, и он описывается как:
оно направлен быть использованным главным образом эксплуататорами и обратн-инженерами, к предоставление дополнительных функций GDB с помощью API Python для оказания помощи в процессе динамического анализа и разработки эксплойтов.
это не цвета, но рассмотрим gdb текст gui. Это имеет огромное значение для того, насколько полезен gdb.
вы можете запустить его с:
gdb -tui executable.outскриншоты:
Как вы можете видеть, основные функции:
- показывает, на какой линии источника мы находимся и окружающие линии
- показывает точки останова
Я знаю, что вы не хотели фронтэнд. Но как насчет cgdb это очень близко к GDB, это textmode, но имеет исходное окно выше с подсветкой синтаксиса в коде.
возможно значительно увеличить появляется gdb через пользу цветов. Это делается с помощью любого из следующих методов:
- раскрашенная подсказка через "установить подсказку". Например, сделайте подсказку жирным и красным:
set prompt 3[1;31m(gdb) 3[m- раскрашенные команды через крючки
- цветная подсветка синтаксиса команды "список".
все примеры доступны в следующих сообщениях блога, написанных Майклом Келлехер:
"украсьте GDB", 12 мая 2010 (через archive.org)
"экспериментальная подсветка синтаксиса GDB", 15 мая 2010 (через archive.org)
#into .gdbinit shell mkfifo /tmp/colorPipe define hook-disassemble echo \n shell cat /tmp/colorPipe | c++filt | highlight --syntax=asm -s darkness -Oxterm256 & set logging redirect on set logging on /tmp/colorPipe end define hookpost-disassemble hookpost-list end define hook-list echo \n shell cat /tmp/colorPipe | c++filt | highlight --syntax=cpp -s darkness -Oxterm256 & set logging redirect on set logging on /tmp/colorPipe end define hookpost-list set logging off set logging redirect off shell sleep 0.1s end define hook-quit shell rm /tmp/colorPipe end define re hookpost-disassemble echo 3[0m end document re Restore colorscheme endПредупреждение: Глючит. Нет поддержки TUI, "пользовательский режим" Хак.
нашел основную часть здесь и немного изменил его. Нужно выделить, c++filt. Если цвета перепутались, выполните команду re.
Я хотел бы выделить следующее: подчеркните строки трассировки стека, которые принадлежат моим исходным файлам (а не библиотекам).
решение было использовать gdb-python (на MSYS; на Linux обычно
gdbпоставляется с Python встроенный уже?), крюкbacktraceиспользуйтеpython stack_trace = gdb.execute('backtrace', False, True')затем процесс
stack_traceС помощью регулярных выражений Python и распечатайте их. Жирный и другие цвета достигаются с помощью такой функции:def term_style(*v): """1 is bold, 30--37 are the 8 colours, but specifying bold may also change the colour. 40--47 are background colours.""" return '\x1B['+';'.join(map(str, v))+'m' #Use like this: print term_style(1) + 'This will be bold' + term_style(0) #Reset. print term_style(1,30) + 'This will be bold and coloured' + term_style(0) print term_style(1,30,40) + 'Plus coloured background' + term_style(0)
аккуратно, я только что нашел этот хак с помощью colout:https://github.com/nojhan/colout/blob/master/colout/example.gdbinit
еще одна хорошая комбинация цветов дается эта конфигурация. Это делает проверку обратных следов намного проще. Чтобы использовать его, просто сохраните этот файл как
~/.gdbinitи запустить gdb нормально
вы можете получить любые цвета, которые вы хотите;
# gdb (gdb) shell echo -en '\E[47;34m'"3[1m" ... anything is now blue foreground and white background ... (gdb) shell tput sgr0 ... back to normal









Comments