Skip to content

FelixBrakel/unicornafl

 
 

Repository files navigation

UnicornAFL

The project is the next version of unicornafl.

Compile

If you have unicorn installed globally, you may just:

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

Or if you prefer a latest build, don't forget to update submodule before building.

git submodule update --init --recursive
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

Or if you would like python bindings.

python3 -m pip install unicornafl

Or build it by yourself.

git submodule update --init --recursive
cd bindings/python/
python3 -m pip install -e .

API

The only API currently unicornafl exposes is:

uc_afl_ret uc_afl_fuzz(
        uc_engine *uc, 
        char* input_file, 
        uc_afl_cb_place_input_t place_input_callback, 
        uint64_t *exits, 
        size_t exit_count, 
        uc_afl_cb_validate_crash_t validate_crash_callback, 
        bool always_validate,
        uint32_t persistent_iters,
        void *data
)

Migration

Unicornafl2 remains the same API compatible to unicornafl so there is no extra work to migrate.

About

AFL bindings for Unicorn-Engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 59.8%
  • C++ 19.6%
  • C 12.6%
  • Python 6.4%
  • CMake 1.0%
  • Shell 0.3%
  • Makefile 0.3%