Repository navigation
Releases: manelfx/pybingraph
Release list
pybingraph 0.2.5
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 serverInstall 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.5Open 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
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.whlInstall 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.