1. ホーム
  2. gdb

[解決済み] 対話型デバッグ中に gdb の出力を強調表示したり色付けする方法は?

2022-04-14 06:36:39

質問

ddd、nemiver、emacs、vim、その他のフロントエンドを使うべきだという返答はしないでください。

解決方法は?

.gdbinit

をいじることができます。 ~/.gdbinit に色を持たせる。マモンの .gdbinit はこちらで入手可能です。

https://github.com/gdbinit/gdbinit

こちらもいくらでもいじれる。これを見つけたのは このSOの答え . このような出力が得られます。

GitHubのリポジトリも公開されています。 https://github.com/gdbinit/Gdbinit

余談ですが、同じような発想で lldbに適用 .

GDBダッシュボード

同じコンセプトを踏襲しています。 GDBダッシュボード は、PythonでGDBのためのモジュラー・ビジュアル・インターフェイスを提供します。

(void)ウォーカー

別の類似したプロジェクトでは、GDBのPythonサポートを使用して、より拡張性を提供していますので、これはチェックアウトする価値があります。 https://github.com/dholm/voidwalker

また、@dholm は、彼自身の .gdbinit を参考にしました。

pwndbg

プロジェクトによっては、表示の改善など、便利な機能一式を提供するものもあります。このようなケースは PEDA または pwndbg . 後者では以下のような記述があります。

PEDAに代わるもの。私たちの良き友人の精神に則り windbg , pwndbg は、次のように発音します。 pwnd-bag .

  • 速度
  • 復元力
  • クリーンなコード

PEDAのものと同様のデバッグやエクスプロイト開発を支援するコマンドを提供し、表示も良くしています(ただし、これはプロジェクトの主眼ではありません)。まだ開発中であり、きちんとしたリリースはされていません。

ヴォルトロン

プロジェクト の説明文に記載されています。

Voltronは、ハッカーのための拡張可能なデバッガーUIです。これを使うと 他のターミナルで実行されているユーティリティ・ビューをデバッガ (LLDB) にアタッチします。 のような有用な情報を表示します。 の内容、レジスタの値などを表示します。 デバッガCLIに慣れている。

を修正することができます。 .gdbinit を使えば、自動的に統合されます。ただし、表示自体はGDBの外(例えばtmuxのスプリット内)になります。

GEF

GEF も選択肢の一つで、次のように記述されています。

主にエクスプロイトやリバースエンジニアが使用することを想定しています。 Python APIを使用してGDBに追加機能を提供することで 動的解析とエクスプロイトの開発プロセスにおいて