IntelLabs / kAFL

A fuzzer for full VM kernel/driver targets
https://intellabs.github.io/kAFL/
MIT License
659 stars 92 forks source link

Is there a way to generate a new random value on every execution in the guest OS? #297

Closed jjeongxu closed 2 months ago

jjeongxu commented 2 months ago

Hello, Thank you very much for creating such a great project.

I am conducting fuzzing on Windows 10 using kAFL.

In my harness, I rely on random values, so I need a new random value for each execution. However, due to the snapshot-based fuzzing method, the same random values are generated for every execution, which prevents effective fuzzing with my harness.

(1) Is there a way to generate a new random value in the guest OS for each execution? (2) If this is difficult, would it be possible to generate random values on the host OS and pass them to the guest OS for each execution?

With generated random value, I'm going to pass this value for the seed of the "random_value_generator_function()" in my harness code.

Best Regards.

jjeongxu commented 2 months ago

By the way, I edited 'util.py of kafl.fuzzer/common' so the first 4bytes of payload the host passes to be the random value, but it does not passes new random values on "Every Execution".

So I'm politely asking you is there a way to generate "NEW random value" on "EVERY EXECUTION"

Thank you.