実行ファイルをダウンロードして、実行してみたらできない

 

ので、readelf命令語でセッションを見たら、セッションもない

 

ヘックスエディターで中身をみた

UPXという文字が見えたのでUPXパッキングされてるから、アンパッキングすれば良いね

アンパッキングツールを実行したら、使用方法が出力される、やろうー

アンパッキングされて、容量が変わるのが見える。

では、実行してみよう!

実行したら、こんなメッセージが出力されて終わりー!これがヒントだな!

gdbで見てみよう

gdbで見たら、#0x6c2070<flag>という文字が見えるからそこだ。

ブレイクポイントをかけて実行する

mov rdx、QWORD PTR[rbp-0x8]を実行して

rdxの値を見ると、flagが見える。

成功!!

でも、ヒントで教えてくれたstrcpyまで実行して、raxを見るとやはり同じflagが見える

(関数の戻り値はraxに入るから)

これで、2回成功!!