pakt / ropc

A Turing complete ROP compiler
315 stars 37 forks source link

Error in gdefs.ml while generating gadgets for SPEC binary #4

Open sriskanda88 opened 10 years ago

sriskanda88 commented 10 years ago

Hi,

The tool works excellently when I use it on small target binaries but when I use it on larger binaries (SPEC) I get the same error at the same place every single time. The last few lines of the output are attached. I tried debugging it but to no avail :(

fatal error

Any help is greatly appreciated !

Thanks, Skanda

pakt commented 10 years ago

Seems like VEX library is unable to model RCR instruction correctly. Try binaries without RCR instructions.

sriskanda88 commented 10 years ago

Yup, I tried some test binaries without RCR and it worked fine. Is there any fix or workaround? Some way to ignore all RCR and RCL instructions maybe?

pakt commented 10 years ago

One way to "ignore" unknowns is to replace them with constants (like 0) before passing AST statements to the symbolic evaluator. This could introduce bugs, because such behavior doesn't model code semantics correctly.