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

no-std vivisect

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

11 releases

0.1.11 Dec 4, 2022
0.1.10 Nov 28, 2022

#346 in Debugging

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.60+ (2021 edition)

Usage

[dependencies]
vivisect = "0.1.10"

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

~1–11MB
~79K SLoC