Go to file
George Hotz d7243591e4 dl redirect 2014-08-20 22:11:15 -07:00
cda its very important qira just work on a target platform 2014-08-20 18:53:31 -07:00
extra dl redirect 2014-08-20 22:11:15 -07:00
ida second phase of the 64-bit issue fix 2014-08-20 17:45:09 -07:00
middleware usability cleanups 2014-08-20 19:00:51 -07:00
pin tracking reads in pin 2014-08-20 15:07:52 -07:00
qemu_mods qemu strace is low quality, upstream dat maybe? 2014-08-20 12:21:14 -07:00
qiradb mmaping pin tool, tried my best at windows 2014-08-20 11:50:26 -07:00
qiradb_test refactored the python module packaging, VERSION in one place 2014-07-28 14:48:14 -07:00
releases one of these days ill test before i copy 2014-08-18 20:16:46 -07:00
tests started the website 2014-08-20 21:47:08 -07:00
vim i don't think we should ship the poorly supported vim plugin yet 2014-07-31 12:29:39 -07:00
web started the website 2014-08-20 21:47:08 -07:00
.gitignore added regex searching to cda 2014-08-10 19:04:12 +00:00
README readme better 2014-08-18 12:48:34 -07:00
VERSION package this as version 0.6 instead 2014-07-28 22:54:19 -07:00
bdistrib.sh its very important qira just work on a target platform 2014-08-20 18:53:31 -07:00
cda_build.sh its very important qira just work on a target platform 2014-08-20 18:53:31 -07:00
fetchlibs.sh ship aarch64 with v0.8 even though it's super broken 2014-08-18 11:35:18 -07:00
install.bat attempting to make qira work on windows 2014-08-05 21:25:41 +00:00
install.sh usability cleanups 2014-08-20 19:00:51 -07:00
pin_build.sh mmaping pin tool, tried my best at windows 2014-08-20 11:50:26 -07:00
qemu_build.sh ppc fixups 2014-08-20 12:45:11 -07:00
qira c database works, about to tear out old stuff 2014-07-22 17:37:06 -07:00
qira.bat the server wants to work 2014-08-05 17:07:55 -07:00

README

QIRA is a competitor to strace and gdb

== Installation ==

./install.sh should handle everything for both release and trunk
./fetchlibs.sh will fetch the libraries for armhf, armel, and ppc


== UI ==

At the top, you have 4 boxes, called the controls.
  Blue = change number, Grey = fork number
  Red = instruction address(iaddr), Yellow = data address(daddr)

On the left you have the vtimeline, this is the full trace of the program.
  The top is the start of the program, the bottom is the end/current state.
  More green = deeper into a function.
  The currently selected change is blue, red is every passthrough of the current iaddr
  Bright yellow is a write to the daddr, dark yellow is a read from the daddr.
  This color scheme is followed everywhere

Below the controls, you have the idump, showing instructions near the current change
Under that is the regviewer, datachanges, hexeditor, and strace, all self explanatory.


== Mouse Actions ==

Click on vtimeline to navigate around
Right click forks to delete them

Click on data(or doubleclick if highlightable) to follow in data
Right click on instruction address to follow in instruction


== Keyboard Shortcuts in web/client/controls.js ==

j -- next invocation of instruction
k -- prev invocation of instruction

u -- next toucher of data
i -- prev toucher of data

m -- go to return from current function
, -- go to start of current function

z -- zoom out max on vtimeline

l -- set iaddr to instruction at current clnum

left  -- -1 fork
right -- +1 fork
up    -- -1 clnum
down  -- +1 clnum

esc -- back

shift-c -- clear all forks


== Installation on Windows (experimental) ==

Install git
Install python 2.7.8
Install pip

Run install.bat


== Using CDA ==

Pass either --cda or --cda-only to QIRA, or just call "cda binary"

The binary must have DWARF data, and the source files must exist on the system

Without cda-only, you have to go to localhost:3002/cda
Everything should be intuitive, except press '/' to regex search