viv-utils
Utilities for binary analysis using vivisect.
What it is and what it does
viv-utils is a utility library that wraps and extends the vivisect binary analysis framework, a disassembler and emulator used in malware analysis and reverse engineering. It provides helper functions and abstractions to simplify common tasks when working with vivisect's API—such as parsing PE files, navigating disassembly, and extracting analysis results. The package is classified as production-stable and targets developers and security researchers working on binary analysis tasks.
The library depends on vivisect itself, along with pefile for PE file handling, funcy for functional utilities, intervaltree for range operations, and typing_extensions for type hints. It is maintained as a focused toolkit rather than a monolithic framework, designed to reduce boilerplate when integrating vivisect into larger analysis pipelines or one-off reverse engineering scripts.
Use it for:
- Simplify vivisect API calls when building custom malware analysis scripts or frameworks.
- Extract and process disassembly results from binary files in an automated analysis pipeline.
- Reduce boilerplate when parsing PE file metadata and cross-referencing it with disassembly data.
- Integrate vivisect-based analysis into security research tools or incident response workflows.
- Prototype binary instrumentation or emulation experiments without writing low-level vivisect code.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides utility functions and helpers for analyzing and manipulating binaries using the vivisect disassembly and analysis framework.
Yes, if you are already using vivisect for binary analysis. The package reduces friction and boilerplate for common tasks, is permissively licensed, and carries no known vulnerabilities. The aging maintenance status (no release in 317 days) is acceptable for a stable utility library, but verify that its API and vivisect compatibility align with your current environment before committing to a production workflow.
Install
viv-utils on PyPI
pip
pip install viv-utilsuv
uv add viv-utilspoetry
poetry add viv-utilsInstalling viv-utils
Before you install
Low install friction with a pure-Python wheel. Maintenance is aging—last commit was 2025-10-01 and no release in 317 days—but the repository remains active and unarchived. Suitable for established workflows rather than rapid iteration.
License in practice
Apache License 2.0 is permissive; you may use, modify, and distribute the package freely provided you include the license text and document changes. No restrictions on commercial or proprietary use.
Quickstart
pip install viv-utils
import viv_utils
# Use viv_utils functions with vivisect binary analysis objects
Requires Python >=3.9 and vivisect installed; vivisect itself may require system-level dependencies for binary parsing.
Verify before relying
- Specific utility functions and their signatures are not detailed in the fact sheet.
- Whether vivisect's system dependencies (if any) are documented or automatically resolved.
- Performance characteristics or scalability limits for large binaries.
Package facts
| License | Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — funcy, pefile, vivisect, intervaltree, typing_extensions |
| Maintenance | aging — 317 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 89,631/month — #13,642 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: viv_utils-0.8.1-py2.py3-none-any.whl
Keywords: malware analysis, reverse engineering, emulation, disassembly
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
vivisectVivisect is a pure-Python disassembler,…
permissive · top 15,000 on PyPI
pwntoolsPwntools is a CTF framework and exploit…
permissive · top 5,000 on PyPI
angrangr is a binary analysis framework that…
permissive · top 5,000 on PyPI
liefLIEF parses, modifies, and abstracts binary…
permissive · top 5,000 on PyPI
lamin_utilsProvides utility functions and helpers for…
permissive · top 15,000 on PyPI
shutilsProvides utility tools for Python development,…
permissive · top 15,000 on PyPI
msbench-utilsProvides utility functions and helpers for…
permissive · top 15,000 on PyPI
allianceauth-app-utilsProvides reusable utility functions and classes…
permissive · top 15,000 on PyPI
malduckMalduck provides cryptographic, compression,…
copyleft · top 15,000 on PyPI
hbutilshbutils is a collection of utility modules…
permissive · top 15,000 on PyPI