clangllvmllvm-clangllvm-iramerican-fuzzy-lop

compile binary with afl-clang-fast with custom LLVM IR passes


How can I use AFL fuzzer's clang frontend for compile time instrumentation with custom LLVM IR passes. I wish to extract the custom IR passes from : https://github.com/obfuscator-llvm/obfuscator/ and use them when compiling with afl-clang-fast to obtain a binary that has afl instrumention AND the obfuscations specified by ollvm. Can i hypothetically use xclang with the compiled transformation passes? In the end I just want to fuzz a binary without the obfuscation passes and compare the fuzzing to a binary with obfuscation passes. Any general ideas on how to begin would be appreciated.


Solution

  • Figured it out, was able to just run the modified clang with obfuscation passes on common IR generated from afl instrumentation pass.