angr / simuvex

[DEPRECATED] A symbolic execution engine for the VEX IR
BSD 2-Clause "Simplified" License
79 stars 57 forks source link

Unsupported operation #95

Open frapik99 opened 7 years ago

frapik99 commented 7 years ago

Hi all, I think your are already busy :), but is there any change that you would implement the following operations:

ERROR   | 2017-02-25 06:33:06,901 | simuvex.vex.irop | Unsupported operation: Iop_SetV128lo64
ERROR   | 2017-02-25 06:33:06,901 | simuvex.vex.irop | Unsupported operation: Iop_Sqrt64F0x2

I found also these operations to be unsupported for now:

ERROR   | 2017-02-25 06:41:45,318 | simuvex.vex.irop | Unsupported operation: Iop_InterleaveHI8x16
ERROR   | 2017-02-25 06:41:45,321 | simuvex.vex.irop | Unsupported operation: Iop_InterleaveHI16x8
ERROR   | 2017-02-25 06:41:45,323 | simuvex.vex.irop | Unsupported operation: Iop_InterleaveHI32x4

Thanks

zardus commented 7 years ago

The likely scenario is that we won't get around to this until it becomes an immediate issue for us in terms of some research scenario, but miracles do happen. :-)

In the meantime:

You can enable the Oppologist to have angr use Unicorn engine to execute otherwise-unsupported operations at the cost of concretizing all data that goes into them: https://github.com/angr/angr/blob/master/angr/exploration_techniques/oppologist.py

You can try your hand at implementing the operations here: https://github.com/angr/simuvex/blob/master/simuvex/engines/vex/irop.py