angr / simuvex

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

Fix/symbolic memory #137

Closed m1ghtym0 closed 7 years ago

m1ghtym0 commented 7 years ago

This includes some big changes to the SimSymbolicMemory._store function. Please review really carefully as it removes some optimizations there to get correct behavior! The changes fix the issue #132, but might come with some loss in performance.

zardus commented 7 years ago

I think that splitting all memory writes into single-byte chunks is going to degrade performance pretty heavily, and also destroy the precision of static analysis, which relies on those memory objects being as intact as possible... If we could fix this overlapping stuff without splitting to bytes (or only do it conditionally when needed), that'd be best.

m1ghtym0 commented 7 years ago

Will implement another idea tomorrow, let's see how this works out;-)

m1ghtym0 commented 7 years ago

This should fix the angr-bf stuff: https://github.com/angr/angr-bf/pull/2 Still have to fix the test_cfgaccurate stuff

rhelmot commented 7 years ago

:+1: on the simcc changes from me

m1ghtym0 commented 7 years ago

Finally it's green:-)

zardus commented 7 years ago

Hey @m1ghtym0, did this get merged in the whole TET insanity? If not, can you make this PR for the angr repo?