HBCTF的一道题,是个ELF文件,于是放入Linux虚拟机中,
执行:
chmod 777 dump
然后就可以运行了:
被停止了,放入IDA中,可以在main函数中发现有一个跳转语句,IDA中有用红色标记:
用nop语句填充这一行,保存后用gdb调试。
然后使用find flag:
将中间的不正常编码的去除,就可以得到正确的flag了。
==============分割线==================
这个GDB要安装一个peda插件:
下面是看到转载另一个博客上的:http://blog.csdn.net/p0x1307/article/details/46423655
首先重新安装gdb
sudo apt-get remove gdb
然后下载旧版本的gdb i386:
http://security.ubuntu.com/ubuntu/pool/main/g/gdb/gdb_7.4-2012.02-0ubuntu2_i386.deb
amd64:
http://security.ubuntu.com/ubuntu/pool/main/g/gdb/gdb_7.4-2012.02-0ubuntu2_amd64.deb
下载后安装,完成后就可以安装peda了。
安装peda:
git clone https://github.com/longld/peda.git ~/peda
echo “source ~/peda/peda.py” >> ~/.gdbinit
echo “DONE! debug your program with gdb and enjoy”
之后就可以使用find 命令了。