Skip to main content

An evolutionary fuzzer for ASM & HLLs

Project description

Codename GitHub License PyPI - Python Version GitHub Workflow Status (with event) Documentation Status GitHub last commit (alpha) PyPI - Downloads

Formerly known as MicroGP v4

Byron is a generic optimizer designed to support source code fuzzing, either in assembly or in higher level languages. It starts by generating a set of random programs, which are then iteratively improved by an evolutionary algorithm. It can handle quite complex structures including subroutines, local and global variables, jumps, conditionals, and loops.

Test programs do not need to be designed, but merely evaluated using an external tool, such as an interpreter or a simulator. Different types of parallelization are supported out of the box, from simple multithreading to the creation of temporary directories where multiple subprocesses are concurrently spawned.

⚠️ Byron is currently in alpha and under active development

Installation

As simple as

pip install --upgrade byron

A few dependencies can enhance Byron functionalities, but are not strictly required. You can get them all with

pip install --upgrade "byron[full]"

Documentation

None yet, but some HOWTO's and examples are available in the development repo.

Contacts

License

Copyright (c) 2023-24 Giovanni Squillero and Alberto Tonda
Byron is free and open-source software, and it is distributed under the permissive Apache License 2.0.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

byron-0.8a1.dev50.tar.gz (65.7 kB view hashes)

Uploaded Source

Built Distribution

byron-0.8a1.dev50-py3-none-any.whl (122.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page