Skip to main content

Python bindings for the Icicle emulator.

Project description

icicle-python

This project is an easy-to-use Python wrapper around icicle-emu. You can read more about Icicle in the paper: Icicle: A Re-designed Emulator for Grey-Box Firmware Fuzzing.

Installation

You can install the latest release from PyPI:

pip install icicle-emu

Development

Note: You need to install Rust 1.90 or higher to build from source.

Install uv

# On Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# On macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

Build the project

# Clone the repository with submodules
git clone --recursive https://github.com/icicle-emu/icicle-python
cd icicle-python

# Install dependencies and build
uv sync
uv run maturin develop

Running tests

The tests folder contains tests that double as standalone examples. Prefix a function with test_ to automatically run it:

uv run pytest -v

Alternatively you can uv run tests/example.py to run/debug the standalone example.

Building a wheel

uv build

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

icicle_emu-0.0.11.tar.gz (1.7 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

icicle_emu-0.0.11-cp38-abi3-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.8+Windows x86-64

icicle_emu-0.0.11-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

icicle_emu-0.0.11-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

icicle_emu-0.0.11-cp38-abi3-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

icicle_emu-0.0.11-cp38-abi3-macosx_10_12_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file icicle_emu-0.0.11.tar.gz.

File metadata

  • Download URL: icicle_emu-0.0.11.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.9.6

File hashes

Hashes for icicle_emu-0.0.11.tar.gz
Algorithm Hash digest
SHA256 4da97aee28959e4f3f64617eb4c8675758efc7757cd87a50ee1d18c5480b67ea
MD5 225c5249179bd46dee187681de4d68ba
BLAKE2b-256 4fb0a2efc55e93b05e9f734a93ce0287992695bdea1510c4ee0297bf48f1bad8

See more details on using hashes here.

File details

Details for the file icicle_emu-0.0.11-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for icicle_emu-0.0.11-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 94e0da6502ae19ba89497ced98fe0f9e881b13deaf070caaca9a4a552e4e9aa6
MD5 058c5fd19dd6ba15ad5706ec3309e5e9
BLAKE2b-256 5c3d98030b959250f5223d697964d987dfa39c65fe4cd4671bb4c00d72738af6

See more details on using hashes here.

File details

Details for the file icicle_emu-0.0.11-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for icicle_emu-0.0.11-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f4baf4d20a158e5b7ec3cbebbdbc0745bd4b08a9d17674d14f84473e8280c948
MD5 37e5e0976eb0c578e26e425bda43f5cf
BLAKE2b-256 68c4da6271734229a11ebb90c69a5a63a3f6bf941055ca0e7e7535640536fde5

See more details on using hashes here.

File details

Details for the file icicle_emu-0.0.11-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for icicle_emu-0.0.11-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 45a269da9f644eda711430c192250db1ae0bd34f7b1d86b4363714306ce509f7
MD5 6ef43292f128c8e37a27e1fdf1978ae7
BLAKE2b-256 a3d729b808876441af7c9f4a39861d9a7a364cc1f4dbba71de9243267f6f20c6

See more details on using hashes here.

File details

Details for the file icicle_emu-0.0.11-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for icicle_emu-0.0.11-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7d41d4d7d69769e908cf2770971ad5651b4f807bb73a694e37d9634e2baaafbd
MD5 0e2dfa5d3b443909c3a5f1e183cbad95
BLAKE2b-256 741f295c69184c4f554244bdf7db55f19434b4340d95aeb5fb3a72b0c56e92d3

See more details on using hashes here.

File details

Details for the file icicle_emu-0.0.11-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for icicle_emu-0.0.11-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8da50fc6f68c3c85644eabe2162f4ef7eab60a13cba731e2f60632fdcb0e9a9f
MD5 89e48fa85bd246e54553c22bc53fb310
BLAKE2b-256 518687fa33577643b47231f44d8cbff2218f3b50bb606b831516473d14c04227

See more details on using hashes here.

Supported by

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