vivisect
Pure python disassembler, debugger, emulator, and static analysis framework
What it is and what it does
Vivisect is a comprehensive binary analysis framework written in pure Python that combines disassembly, static analysis, symbolic execution, and debugging into a single toolkit. It reads and analyzes compiled binaries, allowing security researchers and reverse engineers to understand program behavior without source code. The framework includes both programmatic APIs for scripting analysis tasks and a GUI debugger (vdb) for interactive exploration.
The package depends on pyasn1, pyasn1-modules, cxxfilt, msgpack, and pycparser to handle binary formats, name demangling, and data serialization. It targets Python 3.8 and later, with workspaces stored in msgpack format for cross-version compatibility. The project is actively maintained with recent commits and a growing user base, making it suitable for security research, malware analysis, and educational reverse engineering.
Use it for:
- Analyze malware samples to understand their structure, behavior, and capabilities without executing them.
- Perform static analysis on compiled binaries to identify vulnerabilities or suspicious code patterns.
- Debug running processes interactively using the vdb debugger component.
- Automate binary analysis tasks via Python scripts using the framework's programmatic API.
- Learn assembly language and reverse engineering techniques with an interactive disassembler.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Vivisect is a pure-Python disassembler, debugger, emulator, and static analysis framework for binary analysis and reverse engineering.
Yes. Vivisect is actively maintained, has low install friction, carries no known vulnerabilities, and is licensed permissively. It fills a genuine need for pure-Python binary analysis. Install it if you do reverse engineering, malware analysis, or security research; skip it if you need only simple disassembly or prefer established alternatives like IDA Pro or Ghidra.
Install
vivisect on PyPI
pip
pip install vivisectuv
uv add vivisectpoetry
poetry add vivisectInstalling vivisect
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release; last commit on 2026-08-14 and 136 days since the latest release indicate ongoing development.
License in practice
Licensed under Apache License 2.0 (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
pip install vivisect
import vivisect
vw = vivisect.VivWorkspace()
vw.loadBinary('path/to/binary')
Requires Python 3.8 or later; Python 2 support ended before v1.0.0. Old Python 2 workspaces are not compatible with Python 3 without conversion.
Verify before relying
- Whether the GUI components (available via pip install vivisect[gui]) are fully functional and documented.
- Performance characteristics and scalability limits for large binaries or complex analysis tasks.
- Specific symbolic execution capabilities and their scope compared to other frameworks.
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — pyasn1, pyasn1-modules, cxxfilt, msgpack, pycparser |
| Maintenance | actively maintained — 136 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 96,015/month — #13,235 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: vivisect-1.3.2-py3-none-any.whl
Tags
More Security packages
Provides Python bindings to the FreeDesktop.org…
permissive · top 1,000 on PyPI
msalMSAL for Python handles OAuth2 and OpenID…
permissive · top 1,000 on PyPI
joserfcjoserfc implements JOSE standards (JWS, JWE,…
permissive · top 1,000 on PyPI
AuthlibAuthlib provides a complete implementation of…
permissive · top 1,000 on PyPI
argon2-cffi-bindingsProvides low-level CFFI bindings to the…
permissive · top 1,000 on PyPI
adalADAL for Python authenticates applications with…
permissive · top 1,000 on PyPI
viv-utilsProvides utility functions and helpers for…
permissive · top 15,000 on PyPI
nvidia-cuda-nvdisasmnvdisasm disassembles NVIDIA CUDA cubin files…
unclear · top 5,000 on PyPI
angrangr is a binary analysis framework that…
permissive · top 5,000 on PyPI
pudbPuDB is a full-screen console-based visual…
permissive · top 5,000 on PyPI
xdisDisassembles Python bytecode from any Python…
copyleft · top 15,000 on PyPI
smdaSMDA is a recursive disassembler library that…
permissive · top 15,000 on PyPI
unicornUnicorn is a Python binding for a lightweight…
permissive · top 5,000 on PyPI
pipecat-ai-whiskerWhisker is a real-time debugger for Pipecat…
permissive · top 15,000 on PyPI
pcodedmpDisassembles VBA p-code from Microsoft Office…
copyleft · top 5,000 on PyPI