You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current Unicorn Mode patches are such that the AFL forkserver is not kicked off until an instruction is emulated. This leads to problems when fuzzing Unicorn test harnesses, because if the mutated input is retrieved from disk before the forks occur then the same input is repeatedly used and no fuzzing is ever actually performed.
A cleaner implementation of this would probably be to either:
Send the 'Start forkserver' whenever a UnicornEngine instance is created
or
Add an API to UnicornEngine (or a derived class) specifically to start the fork server
For now the workaround is to just run a single instruction, then load the mutated input, then emulate the rest of the code (as discussed in the blog post, readme, and example test harnesses).
The text was updated successfully, but these errors were encountered:
njv299
changed the title
AFL forkserver does not start until 1 instruction is emulated
AFL forkserver does not start in Unicorn Mode until 1 instruction is emulated
Nov 9, 2017
njv299
changed the title
AFL forkserver does not start in Unicorn Mode until 1 instruction is emulated
AFL forkserver does not start in Unicorn Mode until an instruction is emulated
Nov 9, 2017
The current Unicorn Mode patches are such that the AFL forkserver is not kicked off until an instruction is emulated. This leads to problems when fuzzing Unicorn test harnesses, because if the mutated input is retrieved from disk before the forks occur then the same input is repeatedly used and no fuzzing is ever actually performed.
A cleaner implementation of this would probably be to either:
or
For now the workaround is to just run a single instruction, then load the mutated input, then emulate the rest of the code (as discussed in the blog post, readme, and example test harnesses).
The text was updated successfully, but these errors were encountered: