shellphish/driller

Simuvex Error

Closed this issue · 2 comments

phros commented

Hey Guys,

I'm trying to get into driller. I wrote a simple program (example.txt).

When running driller, I get the following output:

In [13]: d = driller.Driller("ex.run", "input", "\xff" * 65535)

In [14]: new = d.drill()
WARNING | 2017-06-30 16:06:40,422 | cle.loader | The main binary is a position-independent executable. It is being loaded with a base address of 0x400000.
WARNING | 2017-06-30 16:06:41,279 | tracer.Tracer | Our base address doesn't match QEMU's. Changing ours to 0x4000000000
ERROR   | 2017-06-30 16:06:43,223 | simuvex.vex.irop | Unsupported operation: Iop_InterleaveHI32x4

In [15]: new
Out[15]: set()

Am I doing something wrong here?

Cheers

You have done nothing wrong. simuvex just hasn't implemented the VEX operation Iop_InterleaveHI32x4, which is understandable given the horrifying list of vex operations. If you would like to implement this operation, you can do so in the file simuvex/engines/vex/irop.py. An example of a pull request implementing an IROp is angr/simuvex#143

phros commented

Ok, Thanks for feedback! Will try my best!