-
Notifications
You must be signed in to change notification settings - Fork 548
Description
I'm completely new on this topic and want to get some examples running first. My setup:
- Windows 11 running in Hyper-V (cannot use my machine directly due to security controls)
- DynamoRIO 11.3.0
- WinAFL 1.17
I build WinAFL with
cd \[WINAFLDIR]
mkdir build
cd build
cmake -G "Visual Studio 17 2022" -A x64 -DDynamoRIO_DIR=%DYNAMORIO%\cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --config Release
winafl.dll was present after build.
Verify DynamoRIO
drrun.exe -c C:\fuzzing\winafl\build\bin\Release\winafl.dll -- notepad.exe
Here I already get an error dialog:
I was able to workaround with adding the -debug flag. Maybe the issue is already present in DynamoRIO.
Verify WinAFL with provided test.exe
I put some text files into a created in directory inside of the bin directory, where afl-fuzz.exe and test.exe are present.
I used the command from the documentation with updated values for dynamorio path and target_offset.
The offset I determined via Ghidra:
afl-fuzz.exe -i in -o out -D %DYNAMORIO%\bin64 -t 100+ -- -coverage_module test.exe -fuzz_iterations 5000 -target_module test.exe -target_offset 0x1780 -persistence_mode in_app -- test.exe @@
I added the debug argument. It still fails, but the message is different:
Three files afl.test.exe.GUID.proc are present. I attached one as example:
afl.test.exe.09436.0000.proc.log
In addition, the output was created. Content in queue shows files id_NUM corresponding to my input.
I tried everything with and without elevated privileges.
Any ideas? I stuck on that since few days.