前景:弄了很久终于完成了qira的安装,发现qira这个软件是真的很难安装好_(:з」∠)_,最后发现这个软件能在Ubuntu 16.04下安装,Ubuntu 18.04和14.04都不行。
介绍
qira 被誉为超越时空的调试器,即可以在时间中任意穿梭的动态调试器,实质上是一个trace工具,将程序整个执行流全部记录下来,然后给予用户回溯、查看命中断点的所有指令(即交叉引用)等,在pwn中可以比较方便的查看溢出点,计算偏移。
下载
cd ~/
git clone https://github.com/geohot/qira.git
cd qira/
./install.sh
安装可能出现的问题
这里安装后可能有一个问题,如果报Import Error: No module named ext.socketio
那么是Flask更新导致的,目前master分支还没有修复,可以尝试回滚flask:
pip install flask==0.10.1
如果无效的话,参考下面这个教程手动改一些python代码即可
https://github.com/geohot/qira/pull/203/commits/4dfae62014575bd2d19d0adf072e00c3ddd7fffe
常用命令:
j–指令的下一次调用
k–指令的预调用
shift-j–下一个数据处理程序
shift-k–数据预处理
m–从当前函数返回
,–转到当前函数的start
z–缩小vtimeline上的max
left – -1 fork
right – +1 fork
up – -1 clnum
down – +1 clnum
esc – 返回
shift-c–清除所有fork
n–重命名指令
shift-n–重命名数据
:–根据指示添加注释
shift-:–在数据上添加注释
g–转到更改地址或姓名
space–切换平面/函数视图
p–iaddr分析函数
c–在iaddr上编写代码,一条指令
a–iaddr的ascii码
d–在iaddr制作数据
u–iaddr未定义
qira的server默认具备4000和3002端口
4000端口为程序的listen端口,用户可通过nc or其他通信方式进行访问
3002端口为一个web服务,qira通过这个web来展示UI
参考链接
https://blog.csdn.net/whklhhhh/article/details/82322240
https://github.com/geohot/qira
http://qira.me/