Rating:
This binary has some e^tra added protection on the advanced 64bit shellcode
Files: added_protection
added_protection
ファイルが渡されるので実行するが、以下のようになるだけである。
$ ./added_protection
size of code: 130
Can u find the flag?
E
gdbで見るとループしているようだ。
眺めているとrdxレジスタにUTなる文字が入っているのを見つけることができた。
その場所が0x8001217だったのでブレークポイントを張り、ループを回す。
rdxの値は以下のように変化していた(一部出力は省略)。
$ gdb ./added_protection
gdb-peda$ start
gdb-peda$ b *0x8001217
gdb-peda$ c
gdb-peda$ c
gdb-peda$ c
gdb-peda$ c
gdb-peda$ c
gdb-peda$ p $rdx
$1 = 0x44b8
gdb-peda$ c
gdb-peda$ p $rdx
$2 = 0x4355
gdb-peda$ c
gdb-peda$ p $rdx
$3 = 0x4654
gdb-peda$ c
gdb-peda$ p $rdx
$4 = 0x617b
~~~
エンディアンを調整し、まとめると以下になる。
0x
4883
ec64
4889
b844
5543
5446
7b61
6449
b976
346e
6365
6445
6e49
ba63
7279
7074
3364
5349
bb68
656c
6c43
6f64
6549
bc7d
4361
Hex to ASCII Text Converterにかけると以下になる。
HìdH¸DUCTF{adI¹v4ncedEnIºcrypt3dSI»hellCodeI¼}Ca
不要な文字を取り除くとflagとなる。