Skip to content
George Hotz edited this page Aug 21, 2015 · 3 revisions

Sadly, programs are very dynamic. You can unmmap your text section and replace it with "/etc/passwd", and you can do this based on control flow decisions. In this case, what should static do?

Although that's an extreme example, qira has to work well on weird programs.

I'm remembering the philosophy I had at CMU, where static is only for things that are 99.99% unlikely to change(I think I used to think impossible), and parts of QIRA just fail on the 0.01% case. For example, apparently I already addressed the shellcode problem by not ever putting those instructions in static. Though that means they can't be drawn in graphs?

We need good answers.

Clone this wiki locally