-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
UnicornAFL v3 integration #2468
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
@@ -146,6 +146,8 @@ typedef struct afl_forkserver { | |||
bool use_fauxsrv; /* Fauxsrv for non-forking targets? */ | |||
|
|||
bool qemu_mode; /* if running in qemu mode or not */ | |||
|
|||
bool unicorn_mode; /* if running in unicorn mode or not*/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we get around this extra flag? Ideally merge it with existing flags of the same meaning
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
other modes have their own flag too - so why not?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't have a pointer to afl
here so we must keep it to fsrv.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
other modes have their own flag too - so why not?
The other modes should also not have extra flags, it should be a flag for feature xyz IMHO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My previous PR (#2419) contains some codes that remove this unnecessary variable. Maybe you could sync some codes from there :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
other modes have their own flag too - so why not?
The other modes should also not have extra flags, it should be a flag for feature xyz IMHO
then it is on us to refactor that for all of them, not in this PR - IMHO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair
any idea when unicornv3 will land? |
On academic travel so no eta unfortunately =/ Next release is probably better. |
This PR enables integration with UnicornAFL mode by enabling cmplog.
I finally decided to keep Unicorn mode instead of reusing QEMU mode as previously proposed because the harness of UnicornAFL is still slightly different from QEMU harness.
For UnicornAFL C/CPP/RUST bindings harness,
-U
is not necessary, but enabling that is also harmless since it essentially skips the binary check.For UnicornAFL Python bindings harness,
-U
is compulsory to make it work. This is because theargv[0]
ispython
instead of the real harness.I will further update samples and scripts under
unicorn_mode