Skip to content
Ned Williamson edited this page Jan 30, 2016 · 7 revisions

See https://code.google.com/p/qira/wiki/shippingQIRAv1 also and check for regressions.

Performance

Must be at least at good as v1. Will fill in this section as I narrow down what is slow. Ideally, we can also improve the qiradb loading time, at least release the GIL while it's loading.

If your tool is not performant, people will be frustrated and not use it. Performance is key, a lot of other annoyances can be forgiven.

static2

So for the v2 launch, we separate this into two parts, the analyzer and the database. The database, which holds and names and comments etc must work.

The analyzer will not ship on by default in v2, and can be pushed to v3.

dynamic code sections

Things like shellcode must work. We have to at least display the correct instruction in the dynamic view, QEMU knows these but they are not in the static database, and perhaps never will be.

Instruction Resolution

Things like "jmp qword ptr [rip + 0x200c02]" should not be displayed, because rip should be resolved when it's run.

IDA Integration

v2 will not ship with graph and flat drawing on by default. But to compensate, the IDA plugin must be vastly improved. v2 now has names and comments in QIRA, these must be kept in sync with IDA.

UI

There's a lot of glitchiness here, especially after merging the wcdocker stuff. This must be hammered out, specific bugs can be added here as we find them.

Scrollbars should not be appearing.

All panels must be cleanly resizable.

idump.js should not have hardcoded values for the bounds of fetched clnums, as this breaks for different resolutions. Also clnum 1 is off-screen.

See more issues on https://github.com/BinaryAnalysisPlatform/qira/pull/109

Installation

Must take less than a minute. Download should be sub 5MB, deps can be larger. It should work very solidly on Ubuntu, and perhaps on a few other Linux as well.

Clone this wiki locally