Submit Search
Upload
第2回セキュリティ勉強会 GDBコマンド
•
Download as PPTX, PDF
•
0 likes
•
228 views
aksechack0001
Follow
学内セキュリティ勉強会の資料です。
Read less
Read more
Software
Report
Share
Report
Share
1 of 25
Download now
Recommended
MRTGの導入と運用
MRTGの導入と運用
kohei Yamamoto
Go言語でBot開発やってみた
Go言語でBot開発やってみた
Akihiko Horiuchi
Serverless on GCP
Serverless on GCP
Hayato Yoshikawa
Gopher Fest 2017参加レポート
Gopher Fest 2017参加レポート
Takuya Ueda
Datalab and colaboratory
Datalab and colaboratory
Hayato Yoshikawa
git flowを使った開発フロー
git flowを使った開発フロー
shigetoshi komatsu
jQuery+TypeScriptやってみた
jQuery+TypeScriptやってみた
Mitsuo Kawashima
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07
Jun Omae
Recommended
MRTGの導入と運用
MRTGの導入と運用
kohei Yamamoto
Go言語でBot開発やってみた
Go言語でBot開発やってみた
Akihiko Horiuchi
Serverless on GCP
Serverless on GCP
Hayato Yoshikawa
Gopher Fest 2017参加レポート
Gopher Fest 2017参加レポート
Takuya Ueda
Datalab and colaboratory
Datalab and colaboratory
Hayato Yoshikawa
git flowを使った開発フロー
git flowを使った開発フロー
shigetoshi komatsu
jQuery+TypeScriptやってみた
jQuery+TypeScriptやってみた
Mitsuo Kawashima
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07
Trac 0.12 と今後の動向および Trac への貢献 - tanabata.trac 2010-07-07
Jun Omae
ソフトウェア工学2023 10 デバッグ
ソフトウェア工学2023 10 デバッグ
Toru Tamaki
PF部第19回資料 poor man's JTAG
PF部第19回資料 poor man's JTAG
daye001
GCをみればRTSが見えてくる、かも。。。
GCをみればRTSが見えてくる、かも。。。
dec9ue
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
kimukou_26 Kimukou
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
Takuya Ueda
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
Hacking Ruby with Python
Hacking Ruby with Python
Taisuke Yamada
Programming camp 2010 debug hacks
Programming camp 2010 debug hacks
Hiro Yoshioka
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011
Hiro Yoshioka
Grailsのススメ(仮)
Grailsのススメ(仮)
Tsuyoshi Yamamoto
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
虎の穴 開発室
ノンプログラマのGit入門
ノンプログラマのGit入門
Muyuu Fujita
“debug.gem”の 利用体験・開発効率の向上
“debug.gem”の 利用体験・開発効率の向上
Naoto Ono
“debug.gem”の 利用体験・開発効率の向上.pdf
“debug.gem”の 利用体験・開発効率の向上.pdf
Naoto Ono
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
Yukihiko SAWANOBORI
明日から使えるgradle
明日から使えるgradle
kimukou_26 Kimukou
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
Takuya Ueda
mruby を C# に 組み込んでみる
mruby を C# に 組み込んでみる
Ryosuke Akiyama
Jenkins と groovy
Jenkins と groovy
Kohsuke Kawaguchi
20130819 jjugnslt
20130819 jjugnslt
Shinya Takebayashi
More Related Content
Similar to 第2回セキュリティ勉強会 GDBコマンド
ソフトウェア工学2023 10 デバッグ
ソフトウェア工学2023 10 デバッグ
Toru Tamaki
PF部第19回資料 poor man's JTAG
PF部第19回資料 poor man's JTAG
daye001
GCをみればRTSが見えてくる、かも。。。
GCをみればRTSが見えてくる、かも。。。
dec9ue
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
kimukou_26 Kimukou
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
Takuya Ueda
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
Hacking Ruby with Python
Hacking Ruby with Python
Taisuke Yamada
Programming camp 2010 debug hacks
Programming camp 2010 debug hacks
Hiro Yoshioka
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011
Hiro Yoshioka
Grailsのススメ(仮)
Grailsのススメ(仮)
Tsuyoshi Yamamoto
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
虎の穴 開発室
ノンプログラマのGit入門
ノンプログラマのGit入門
Muyuu Fujita
“debug.gem”の 利用体験・開発効率の向上
“debug.gem”の 利用体験・開発効率の向上
Naoto Ono
“debug.gem”の 利用体験・開発効率の向上.pdf
“debug.gem”の 利用体験・開発効率の向上.pdf
Naoto Ono
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
Yukihiko SAWANOBORI
明日から使えるgradle
明日から使えるgradle
kimukou_26 Kimukou
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
Takuya Ueda
mruby を C# に 組み込んでみる
mruby を C# に 組み込んでみる
Ryosuke Akiyama
Jenkins と groovy
Jenkins と groovy
Kohsuke Kawaguchi
20130819 jjugnslt
20130819 jjugnslt
Shinya Takebayashi
Similar to 第2回セキュリティ勉強会 GDBコマンド
(20)
ソフトウェア工学2023 10 デバッグ
ソフトウェア工学2023 10 デバッグ
PF部第19回資料 poor man's JTAG
PF部第19回資料 poor man's JTAG
GCをみればRTSが見えてくる、かも。。。
GCをみればRTSが見えてくる、かも。。。
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
Hacking Ruby with Python
Hacking Ruby with Python
Programming camp 2010 debug hacks
Programming camp 2010 debug hacks
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011
Grailsのススメ(仮)
Grailsのススメ(仮)
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
ノンプログラマのGit入門
ノンプログラマのGit入門
“debug.gem”の 利用体験・開発効率の向上
“debug.gem”の 利用体験・開発効率の向上
“debug.gem”の 利用体験・開発効率の向上.pdf
“debug.gem”の 利用体験・開発効率の向上.pdf
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
明日から使えるgradle
明日から使えるgradle
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
mruby を C# に 組み込んでみる
mruby を C# に 組み込んでみる
Jenkins と groovy
Jenkins と groovy
20130819 jjugnslt
20130819 jjugnslt
第2回セキュリティ勉強会 GDBコマンド
1.
Pwnable
2.
Pwn 侵入して、支配する
3.
Pwnで有効なツール ➡ GDB
4.
変数の中身を覗いたり、 書き換えたり... そういうことが出来ます
5.
GDBの動作概要 ・b main と入力 ➡breakpoint
1at xxx ・run と入力 ➡starting program xxx ➡breakpoint 1 , xxx in main() ・layout regs と入力 ➡画面がリッチになる ・ni と入力 ➡アセンブラの命令が1命令実行された
6.
■gdbから直接起動 ①ソースファイルを、デバッグ可能な方式で コンパイルする gcc –g3 test.c →a.outが生成 ※-g3とするとマクロの展開が可能となります。
7.
②生成した実行可能ファイルをgdbコマンドから実行 gdb a.out →以後、gdbよりコマンドの入力を求められる ※この状態では、プログラムは実行されません。
8.
9.
③実行前にブレークポイントを設定 # test.cの3行目にブレークを張る b test.c:3 #
関数main先頭にブレークを張る b main
10.
ブレークポイントで、プログラムは一時停止 します。 ブレークポイントでの停止後、プログラマは 通常のデバッグ作業同様に実行環境(メモリ、 レジスタ、ログ、ファイルなど)を観察し、 プログラムが期待通りに機能しているかどう かを判断します。 ブレークポイント
11.
12.
④実行 run ※引数つきで実行したい場合は、 run aaa bbb
ccc と実行。
13.
14.
■既に稼動しているプログラムをデバッグ ①デバッグしたいプログラムのプロセスID(PID)を確認 ps -ef |
grep a.out ※一番左端のフィールドに出てくる数字がPID
15.
②attachする gdb #引数無しで実行 attach 12345(↑で確認したPID)
16.
attach ソフトウェア開発において、 デバッガなどが実行中のプログラムを 監視・制御の対象にすることを 「アタッチする」という。
17.
以後、gdbを使って ブレークポイントを 貼ったり変数を覗いた り出来ます。
18.
プロセスを変えたいとき はdetachしてから別の プロセスをアタッチでき ます。
19.
■コマンド集 [ブレーク関連_1] ・b 関数名 ➡関数funcにブレークポイントを貼る ・b
ファイル名:行数 ➡test.cのline行目にブレークポイントを貼る ・w 変数名 ➡変数にウォッチポイントを設定
20.
ウォッチポイント 「監視している変数を操 作したら停止」という流 れになります。
21.
■コマンド集 [ブレーク関連_2] ・i b ➡ブレークポイント一覧を表示 ・d
no ➡番号に対応するブレークポイントを削除
22.
■コマンド [実行関連_1] ・n(エヌ) ➡ステップ実行(1行ずつ実行/関数は飛ばす) ・s(エス) ➡ステップ実行(1行ずつ実行/関数の中に入る) ・c(シー) ➡ 次のブレークポイントまで処理を実行
23.
■コマンド[実行関連_2] ・ f(エフ) ➡現在の関数を抜けるまで処理を実行 ・ u(ユー) ➡現在のループを抜けるまで処理を実行 ・ret
-1 ➡現在の関数を戻り値-1として強制的に抜ける ※以降の処理は実行されない
24.
■コマンド集 [参照] • p
変数名 ➡変数の値を見る (構造体のメンバはa.bで要素を見れる。 ポインタの場合は*fpなどで中身を見れる) ・bt バックトレース ➡(現在の関数が呼び出されるまでの経路)を表示 ・ l (エル) ➡ソースコードを表示 ・info macro マクロ名 ➡マクロの定義を確認
25.
[値の書き換え] p 変数名=-1 ➡変数の値を書き換える
Download now