GDB の最初のマシンコード命令で停止する
2023-09-13 11:27:28
質問
gdb に実行ファイルをロードした後、最初の命令が実行される前にエントリーポイントでブレークするにはどうしたらよいでしょうか?
私が解析している実行ファイルはマルウェアの一部で、暗号化されています。
break main
は全く何もしません。
どのように解決するのですか?
GDB 8.1以降では、このための特別なコマンドがあります。
starti
. GDBセッションの例です。
$ gdb /bin/true
Reading symbols from /bin/true...(no debugging symbols found)...done.
(gdb) starti
Starting program: /bin/true
Program stopped.
0xf7fdd800 in _start () from /lib/ld-linux.so.2
(gdb) x/5i $pc
=> 0xf7fdd800 <_start>: mov eax,esp
0xf7fdd802 <_start+2>: call 0xf7fe2160 <_dl_start>
0xf7fdd807 <_dl_start_user>: mov edi,eax
0xf7fdd809 <_dl_start_user+2>: call 0xf7fdd7f0
0xf7fdd80e <_dl_start_user+7>: add ebx,0x1f7e6
関連
-
[解決済み] GDBで現在の関数からステップアウトする
-
[解決済み] Bashスクリプト内でGDBを使用してコマンドライン引数を持つプログラムを実行するにはどうすればよいですか?
-
[解決済み】GDBで現在のアセンブリ命令を表示する
-
[解決済み] 対話型デバッグ中に gdb の出力を強調表示したり色付けする方法は?
-
[解決済み] gdbのコード付きスプリットビュー
-
[解決済み] 16進数または10進数で変数を表示する。
-
[解決済み] 指定された実行ファイル以外のアセンブリコードをシングルステップで実行するためにgdbを使用すると、"cannot find bounds of current function "というエラーが発生する。
-
[解決済み] gdb - パイプ入力(引数ではない)でデバッグする [duplicate]
-
[解決済み] GDBのブレークポイントを、指定された回数だけブレークさせるには?
-
[解決済み] GDBでスタックフレームを調べるにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
シンボルテーブルが読み込まれていません。"file "コマンドを使用してください。
-
VScodeでデバッグを行う場合、デバッグを開始できない
-
関数の暗黙の宣言 この警告問題の原因と解決策
-
[解決済み] GDBでメモリ範囲をディスアセンブルする方法は?
-
[解決済み] 対話型デバッグ中に gdb の出力を強調表示したり色付けする方法は?
-
[解決済み] main()は本当にC++のプログラムの始まりなのか?
-
[解決済み] gdbのコード付きスプリットビュー
-
[解決済み] GDBで実行ファイルを自動的に実行するには?
-
[解決済み] GDBのブレークポイントを、指定された回数だけブレークさせるには?
-
[解決済み] GDBでスタックフレームを調べるにはどうしたらいいですか?