Skip to main content

libfuzzer

Project description

libfuzzer

This is raw bindings for libfuzzer which works as a library.

Example:

#!/usr/bin/env python3

from libfuzzer import *
import os
import sys

Counters = CreateLibFuzzerCounters(4096)

def TestOneInput(input):
    # Instrument the code manually.
    l = len(input)

    if l == 0:
        Counters[0] += 1
    elif l == 8:
        Counters[1] += 1
    elif l == 16:
        Counters[2] += 1
        os.abort()
    else:
        Counters[3] += 1
    
    Counters[4] += 1
    return 0

def Initialize(argv):
    return 0

def Mutator(data, max_size, seed):
    return LLVMFuzzerMutate(data, max_size)

def CrossOver(data1, data2, out, seed):
    return 0

# If you are using -fork=1, make sure run it like `python3 ./example.py` or
# `./example.py` instead of `python3 example.py`.
LLVMFuzzerRunDriver(sys.argv, TestOneInput, Initialize, Mutator, CrossOver, Counters)

Project details


Download files

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

Source Distribution

libfuzzer-0.0.2.tar.gz (4.3 kB view details)

Uploaded Source

Built Distributions

libfuzzer-0.0.2-py3-none-manylinux1_x86_64.whl (229.1 kB view details)

Uploaded Python 3

libfuzzer-0.0.2-py3-none-manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (229.7 kB view details)

Uploaded Python 3 manylinux: glibc 2.17+ x86-64

libfuzzer-0.0.2-py3-none-manylinux1_i686.whl (239.3 kB view details)

Uploaded Python 3

libfuzzer-0.0.2-py3-none-manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (239.9 kB view details)

Uploaded Python 3 manylinux: glibc 2.17+ i686

File details

Details for the file libfuzzer-0.0.2.tar.gz.

File metadata

  • Download URL: libfuzzer-0.0.2.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for libfuzzer-0.0.2.tar.gz
Algorithm Hash digest
SHA256 65dc411725d1dc657bf38c7e467d10ea667c826809e9e93d4286a8102ce7a853
MD5 f38b19d570aeaca84a59ed9855b8a1a6
BLAKE2b-256 1f4721773a80ddc910fe6b64e18752bec80325147e3e43d5dcfe4a3a1906ae96

See more details on using hashes here.

File details

Details for the file libfuzzer-0.0.2-py3-none-manylinux1_x86_64.whl.

File metadata

  • Download URL: libfuzzer-0.0.2-py3-none-manylinux1_x86_64.whl
  • Upload date:
  • Size: 229.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for libfuzzer-0.0.2-py3-none-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 423d62ccda49b87b329bf39079edde30d1d4bf9dfaf620d11b3f59961793e07e
MD5 2fa6c432f0d530b75c3259fcfb0c7140
BLAKE2b-256 75d9b9bb4f793dd15d39bfa7cea0cfe472cf084e96b2ffe445fb9c03cf37e44f

See more details on using hashes here.

File details

Details for the file libfuzzer-0.0.2-py3-none-manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libfuzzer-0.0.2-py3-none-manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 057aac95a8d153bcb241f93de18fe36bc81c72a9334508fc99b2c5a0adf92172
MD5 a2ac2eb846db3068c107d5e92c48cde9
BLAKE2b-256 08a4de02f12ac06cc33fffc94c32f9de888bae3e2acd46a519721dd0826d02a5

See more details on using hashes here.

File details

Details for the file libfuzzer-0.0.2-py3-none-manylinux1_i686.whl.

File metadata

  • Download URL: libfuzzer-0.0.2-py3-none-manylinux1_i686.whl
  • Upload date:
  • Size: 239.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for libfuzzer-0.0.2-py3-none-manylinux1_i686.whl
Algorithm Hash digest
SHA256 c4128d1b4d79f712ec5bb2a1e757ba2447c9d4296a90be00060dfa5559aae6dd
MD5 806739a8812f78502a0c257046098ccb
BLAKE2b-256 67f3d74dbc2a75a656e93e10448e4b678e228c1b0c7b954a764239d84b19c2e3

See more details on using hashes here.

File details

Details for the file libfuzzer-0.0.2-py3-none-manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libfuzzer-0.0.2-py3-none-manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 27ca4d059ec8d70acdc2d7bc3b902dd1dda57fb48280d29f77c998fe964a924c
MD5 7c0790e64a42dab286baaa9727c4a229
BLAKE2b-256 c5d2a8a97263d6b52cde18dcad6f25a92bfd9a1e6e55a7e4fe3d71ee4e5f0797

See more details on using hashes here.

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