Skip to content
python and honggfuzz
Python C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples first (: Aug 22, 2019
hfuzz support python 2 Sep 10, 2019
README.md update readme Aug 23, 2019
requirements.txt
setup.py first (: Aug 22, 2019

README.md

Python HFuzz

Everything you need to glue honggfuzz and python 3.

Install

cd /path/to/honggfuzz/sources/
git clone https://github.com/thebabush/python-hfuzz.git python
cd python
python setup.py install

Important: do not use pip. Right now I'm using relative paths to link honggfuzz' static libraries to python-hfuzz and pip doesn't like that. Feel free to create a PR to improve the build system.

Usage

Normal execution:

honggfuzz -f ./corpus -F 8 -- ./examples/cmp.py ___FILE___

Persistent mode:

honggfuzz -f ./corpus -F 8 -P -- ./examples/persistent.py

Why?

Well, the main reasons are these:

  1. There are DBIs out there that can be scripted in python. While it's not the best idea performance-wise, sometimes your dev-speed/run-speed trade-off makes it worth it in the short term (e.g.: one-off custom feedback implementations, research, CTFs, etc...)
  2. Fuzzing python programs. Coupled with some nice bytecode-level instrumentation, this could be interesting.
  3. Reimplement AFL-unicorn without patching unicorn's QEMU (hello UC_HOOK_BLOCK).
You can’t perform that action at this time.