illera88 / Ponce

IDA 2016 plugin contest winner! Symbolic Execution just one-click away!
https://docs.idaponce.com
Other
1.48k stars 72 forks source link

Add timeouts for formula solving #70

Closed illera88 closed 4 years ago

illera88 commented 4 years ago

We should create a case that takes a long to resolve

0ca commented 4 years ago

I can take this

0ca commented 4 years ago

@illera88 this example took 2 minutes to solve it. You need to run it with:

long_time_to_solve.exe aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Right now we block the IDA interface while a solution is getting calculated.

I think we should start a thread every time we want to solve a formula, and then just show to the log that the formula is being solve (maybe add an update every 10 secs "Formula still solving..."). I guess we would need 2 threads. The one doing the solving and other one monitoring the time spent and updating the log with the "still solving message".

What do you think?

illera88 commented 4 years ago

Yes, I think that's the way to go

illera88 commented 4 years ago

We should check how to do non blocking threads in IDA

illera88 commented 4 years ago

add that test to the examples

0ca commented 4 years ago

Added to the examples: https://github.com/illera88/Ponce/commit/86c359484680f49a24c484630dfd6b5f11e4617f

illera88 commented 4 years ago

There is a new function in Triton that can be used to set a timeout on the solver: https://github.com/JonathanSalwan/Triton/issues/932