pwnable.kr(4) - flag
## Problem
Points: 7 pt
Link
1
2
3
4
5Papa brought me a packed present! let's open it.
Download : http://pwnable.kr/bin/flag
This is reversing task. all you need is binary
Thinking
程式沒有辦法直接使用objdump
或者是gdb
來反組譯。
透過 hexdump -C <filename> | grep -C 1 UPX
檢查是不是有加殼。
結果顯示是有經過1
2
3000000a0 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 00 |.......... .....|
000000b0 fc ac e0 a1 55 50 58 21 1c 08 0d 16 00 00 00 00 |....UPX!........|
000000c0 21 7c 0d 00 21 7c 0d 00 90 01 00 00 92 00 00 00 |!|..!|..........|UPX
加殼,於是upx -d <filename>
脫殼。
脫殼之後就可以用gdb
或者是objdump
反組譯。
Code
1 | 0x0000000000401164 <+0>: push rbp |
Solution
程式當中+32特別強調了flag。
直接單步執行到+39行。
接著查看rdx
裏面放了什麼。
1
2
3gdb-peda$ x /s $rdx
0x496628: "UPX...? sounds like a delivery service :)"
gdb-peda$
GET flag!
Prepare
Register
Name | 16bit | 32bit | 64bit |
---|---|---|---|
Data | DX | EDX | RDX |