#disassembler #binary-parser #binary-analysis #capstone #cfg #static-analysis

no-std vivisect

A cross-platform, ELF, Mach-o, and PE binary parsing and loading crate

12 releases

0.1.12 May 6, 2024
0.1.11 Dec 4, 2022
0.1.10 Nov 28, 2022

#133 in Debugging

Download history 4/week @ 2024-02-26 36/week @ 2024-04-01 154/week @ 2024-04-15 152/week @ 2024-05-06

306 downloads per month

Custom license

1MB
17K SLoC

Vivisect

Linux Arm7 Linux x86_64 macOS Windows

A crate to perform static analysis. This is a port of the vivisect library written in python.

See the original project.

Requirements

  • Rust 1.70+ (2021 edition)

Usage

[dependencies]
vivisect = "0.1.12"

OR

[dependencies]
vivisect = { git = "https://github.com/marirs/vivisect-rs", branch = "master" }

Example

use vivisect::workspace::VivWorkspace;

pub fn main() {
    let sample_path = "path_to_the_workspace";
    let mut workspace = VivWorkspace::new("", false);
    workspace.load_from_file(sample_path, None, None);
    workspace.analyze();
}

Contribution

Feel free to make a pull request to update or fix any bug.


License: Apache 2.0

Dependencies

~43MB
~1M SLoC