Andrea Fioraldi ce63b76558
Update to v0.15.3 (#3259)
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
2025-05-23 22:50:23 +02:00
..
2025-05-23 16:35:30 +02:00
2025-05-23 22:50:23 +02:00
2025-05-22 16:08:35 +02:00

LibAFL Frida_Windows_GdiPlus Example

This is a an example how to fuzz binary-only dlls on Windows. The example fuzzer will explore gdiplus on Windows, using the Frida DBI.

Build

To build this example, run cargo build --release in this folder.

Then compile the harness cl.exe /LD harness.cc /link /dll gdiplus.lib ole32.lib

Note: this fuzzer is statically linked with C runtime. This is achieved by specifying rustflags = ["-C", "target-feature=+crt-static"] in .cargo/config.toml. The static linking is necessary to avoid Asan function hooks to hook the calls from the fuzzer itself, as such self-hooking can eventually lead to deadlocks in internal Frida mechanisms.

Run

To run the example target\release\frida_windows_gdiplus.exe -H harness.dll -i corpus -o output --libs-to-instrument gdi32.dll --libs-to-instrument gdi32full.dll --libs-to-instrument gdiplus.dll --libs-to-instrument WindowsCodecs.dll --disable-excludes