QIRA
我们在写一些exploit的时候,经常会碰见出现的内存不如预期的情况,这个时候我们就会使用调试器查看到底是什么地方出了问题。这个出错的地方肯定是比现在你查看内存的地方要晚了,也就是说,我们得,倒回去看内存,这在一般的调试器中是实现不了的。
qira就是这么一个调试器,它可以做到记录下整个过程,使得调试的过程变得更加简单。
总的来说,qira的作用:
1. 进行正常调试
2. 调试时如果发现内存不如所料,可以返回到之前的状态进行内存状态查看
这一点使得我们可以避免很多反复启动的工作,使得开发expoit更加简单
QIRA在CTF中使用
可惜,目前QIRA在CTF中很难被运用,原因是QIRA自己有一大片的输出,会和正在调试的程序的输出混淆,使得Pwntools很难去同时使得exploit和qira都正常工作。
所以我们需要将这些输出都去掉,所以我也就很自然的已经干了这个事情。
这样我们就可以很好的去使用qira了。
这个fork的地址位于:
https://github.com/Escapingbug/qira
我只做了非常简单的工作,也就是将输出删除掉,增加了一个quiet模式,由于qira整体情况比较复杂,qemu当中的参数不是很好处理,所以我直接将qemu部分的影响正常调试的输出删掉了,而middleware层增加了quiet模式来决定是否开启输出。
具体的使用方法在下面的readme中我添加