picoCTF – GDB baby step # より。
main 関数の最後に rax レジスタの値がどうなっているかを確認する問題。
- disassemble main: main 関数のアドレスとアセンブラを表示
- break *main + 59: main 関数の最後である 59 bytes 先のアドレスにブレークポイントを設ける
- info registers: レジスタの値を表示
- search test1: 文字列 test1 の場所を探す
- find 0x401106,0x401120-1,0x2262c96b: メモリアドレス範囲 [0x401106 – 0x401120] の範囲で 0x2262c96b という値が含まれるアドレスを検索する
※ 半開区間ではなく閉区間のため第二引数は -1 する
※ 文字を検索するときは第三引数を {char[4]}”pico” とする