Skip to content

Releases: manelfx/pybingraph

pybingraph 0.2.5

Choose a tag to compare

@manelfx manelfx released this 17 Oct 22:57
Immutable release. Only release title and notes can be modified.
6cb4628

Highlights

  • Upgraded to angr 10.0.4 and refreshed runtime dependencies.
  • Improved Go runtime control-flow handling and expanded Windows Go regression coverage.
  • Added Python 3.12-3.15 compatibility checks for installed packages.
  • Added Docker images for Linux AMD64 and ARM64, including Python, dependencies and Graphviz.
  • Added PyPI publishing alongside the wheel and source archives attached to GitHub releases.

Install with Python

In a Python 3.12+ virtual environment:

pip install pybingraph==0.2.5
bingraph --root /path/to/binaries server

Install the Graphviz dot executable separately for rendered CFGs. Alternatively, install the attached wheel directly.

Run with Docker

docker run --rm --name bingraph \
  -p 127.0.0.1:9000:8000 \
  --mount type=bind,src=/absolute/path/to/binaries,dst=/binaries,readonly \
  ghcr.io/manelfx/pybingraph:0.2.5

Open http://127.0.0.1:9000/docs for the interactive API. The image runs as a non-root user and reads your binaries from the mounted directory; no playground binaries are bundled. Mounted files must be readable by the container user.

Validation

Release checks cover unit tests, 70 checkpoint CFGs, installed wheel/source package audits, Python 3.12-3.15 compatibility and native AMD64/ARM64 container smoke tests. The PyPI publishing path was also validated through TestPyPI.

Full changelog: v0.1.131...v0.2.5

pybingraph 0.1.131

Choose a tag to compare

@manelfx manelfx released this 14 Oct 17:33
Immutable release. Only release title and notes can be modified.
5129b28

Overview

pybingraph is an angr-based binary-inspection library and local web service for
function symbol tables and per-function control-flow graphs.

Highlights

  • Function-bounded custom CFG construction from Capstone and VEX, with proven
    indirect transfers, ELF exception paths, and explicit unresolved targets.
  • Disconnected-code recovery shown separately from proven entry-reachable flow.
  • Browser views, HTTP API, and CLI output in SVG, DOT, raw DOT, and XDOT.
  • Optional symbolic instruction comments and C++/Rust name demangling.
  • ELF and Windows PE support through the underlying loaders; corpus coverage
    includes x86/x86-64, ARM/Thumb/AArch64, MIPS, PowerPC, RISC-V, and s390x.
    Analysis coverage varies by architecture and binary.
  • BSD-2-Clause licensing for original code, with upstream attributions in NOTICE.

Installation

Requires Python 3.12 or later. Download the attached wheel and install it:

uv venv --python 3.12
uv pip install ./pybingraph-0.1.131-py3-none-any.whl

Install the Graphviz dot executable separately for rendered graph formats.
The wheel does not include playground binaries or system tools. A source
distribution is also attached.

See the README
for setup, examples, and API usage. Call graphs, data-dependency graphs, and
profile-based graph coloring remain future work.