Wiki »
« 前 |
リビジョン 12/19
(差分)
| 次 »
kanata, 2026/08/25 14:30
Gdb-peda¶
最近はGEFの方が良いらしい
Github longld/peda
https://github.com/longld/peda
Installation¶
$ git clone https://github.com/longld/peda.git ~/peda
$ echo "source ~/peda/peda.py" >> ~/.gdbinit
$ echo "DONE! debug your program with gdb and enjoy"
Operation¶
実行・制御系¶
| 操作 |
元の名称 |
例 |
意味 |
| r |
run |
|
プログラムの実行 |
| start |
|
|
main関数の先頭に一時的なブレークポイントが設定された状態で実行 |
| c |
continue |
|
プログラムの再開 |
| s |
step |
|
命令を1つ進める(call命令で呼ばれている関数の中にも入る) |
| n |
next |
|
命令を1つ進める |
| si |
stepi |
|
命令単位でステップ実行 |
| ni |
nexti |
|
関数呼び出しを飛ばして進む |
| f |
finish |
|
現在関数の終了まで実行 |
| q |
quit |
|
終了する |
ブレークポイント系¶
| 操作 |
元の名称 |
例 |
意味 |
| b |
break |
b main,b *0x555555555140 |
ブレークポイント設定 |
| d |
delete |
d |
ブレークポイント削除 |
| i b |
info break |
i b |
ブレークポイント一覧 |
レジスタ・状態確認¶
| 操作 |
元の名称 |
例 |
意味 |
| i |
info |
i stack |
各種情報表示 |
| i r |
info registers |
i r |
レジスタの値表示 |
| x |
|
x /10i 0x555555555139 |
レジスタやメモリ内容の表示 |
| set |
set |
set $rax=0x1623475869 |
メモリやレジスタの書き換え |
| context |
peda context |
|
各種情報表示(peda拡張) |
| reg |
reg |
|
レジスタファイルの状態を表示(peda拡張) |
| xi |
xinfo |
xinfo register rax |
レジスタの値を確認する(peda拡張) |
メモリ解析¶
| 操作 |
元の名称 |
例 |
意味 |
| i |
info |
|
|
| set |
set |
set $rax=0x1623475869 |
メモリやレジスタの書き換え |
| hexdump |
|
|
|
| searchmem |
|
searchmem "string" |
|
| pattc |
pattern create |
pattc 50,pattern create 200 |
|
| patto |
pattern offset |
patto AACA |
|
| vmap |
|
|
|
スタック・フロー解析¶
| 操作 |
元の名称 |
例 |
意味 |
| stack |
|
|
スタックの状態表示 |
| telescope |
|
|
スタックの状態表示 |
| context stack |
|
|
スタックの状態表示(peda拡張) |
| find rop |
|
|
|
解析支援(peda拡張)¶
| 操作 |
元の名称 |
例 |
意味 |
| checksec |
|
|
バイナリのセキュリティ機構の状態表示 |
| elfheader |
|
|
elfヘッダー情報 |
| procinfo |
|
|
実行中のプロセス情報 |
| asmsearch |
|
|
|
| strings |
|
|
文字列を抜き出す |
ペイロード関連¶
| 操作 |
元の名称 |
例 |
意味 |
| ropgadget |
|
|
|
| shellcode search |
|
|
|
kanata さんが15日前に更新
· 19件の履歴