Qira-docker安装与使用
Qira-docker安装与使用
一.Qira简绍(qira.me)
github:https://github.com/geohot/qira
简单来说就是能够记录一个程序执行过程中全部信息,而不需要再次执行来跟踪这些信息,只需要拨动时间轴就能查看各个状态,之前的或是之后的。
闲来无事,尝试安装Qira在WSL2-Ubuntu20.04
但是这个东西实在是维护不勤,python版本还是只支持2.7,很难受,安装了好长时间,fix了一堆c层面的问题(包括链接重名问题,结构体弃用问题等等),还是没修完,直接装docker算了(太难受了)
docker pull ibndias/qira-ubuntu:latest
直接pull一个镜像下来
docker run -itd -p 12345:3002 -p 12346:4000 ibndias/qira-ubuntu
把端口3002和4000映射到本机的12345和12346端口,其中3002端口是Qira的webUI界面,用于时间回溯分析等。
左边为时间线,每nc一次将会开启一条新的时间线
而4000端口用于程序交互,再交互开始时,web界面才会开始出现二进制信息
Qira启动方式
qira -s ./hide_and_seek
此处也可以使用-Ss,在这样的命令下,webUI右侧将会出现类似于IDA的程序流程图
启动成功后即可进行分析
webUI快捷键操作
j -- next invocation of instruction
k -- prev invocation of instruction
shift-j -- next toucher of data
shift-k -- prev toucher of data
m -- go to return from current function
, -- go to start of current function
z -- zoom out max on vtimeline
left -- -1 fork
right -- +1 fork
up -- -1 clnum
down -- +1 clnum
esc -- back
shift-c -- clear all forks
n -- rename instruction
shift-n -- rename data
: -- add comment at instruction
shift-: -- add comment at data
g -- go to change, address, or name
space -- toggle flat/function view
p -- analyze function at iaddr
c -- make code at iaddr, one instruction
a -- make ascii at iaddr
d -- make data at iaddr
u -- make undefined at iaddr