拿到文件,先运行一下,输出:
I will malloc() and strcpy the flag there. take it.
用python查看文件是否有什么保护,
Arch: amd64-64-little RELRO: No RELRO Stack: No canary found NX: NX disabled PIE: No PIE (0x400000) RWX: Has RWX segments Packer: Packed with UPX
发现文件加了壳(Packed with UPX),所以使用 upx flag -d 进行脱壳,根据题目提示知道要二进制分析,所以把脱壳后的文件用IDA打开
双击上图红色箭头指的 flag
再双击箭头指向的灰色文字
拿到flag