binper

Crates.iobinper
lib.rsbinper
version0.1.4
sourcesrc
created_at2020-05-21 17:18:19.387087
updated_at2020-05-31 13:26:42.985673
descriptionBINPER is a binary parser library in Rust.
homepage
repositoryhttps://github.com/abaghinyan/binper
max_upload_size
id244219
size123,819
(abaghinyan)

documentation

https://docs.rs/binper/

README

BINPER

MIT licensed

Description

BINPER is a binary parser library in Rust.

🔒 Implemented using 100% safe rust and works on all platforms supported by rust

Install

cargo install binper

Binary usage

binper [BIN_FILE_PATH]

⚠️ WARNING ⚠️

Currently, only PE file parsing is implemented

Library usage

use std::fs::File;
use std::io::Read;

use binper::pe::pe::PE;

fn main() -> binper::error::Result<()> {
    let mut f = File::open("samples/pe.exe")?;
    let mut data = Vec::new();
    f.read_to_end(&mut data)?;
    let pe:PE = PE::new(&data)?;
    println!("{}", pe);

    Ok(())
}

Progress

Windows binary PE

  • DOS header
  • PE header
  • Optional header
  • Data Directories
  • Sections
  • Export, Import tables
  • Resources

Linux binary ELF

  • ELF header
  • Program header table
  • Sections

Contribution

If you want to add some features, fix bugs or improve the code as defined in the MIT license, without any additional terms or conditions, I will gladly accept.

⚠️ WARNING ⚠️

This is an alpha version.
I don't recommend you to use in your production applications.
The structure of objects can change.

License

binper is distributed under the terms of the MIT license.

See LICENSE for details.

Acknowledgments

This project has been inspired by goblin project.

Commit count: 6

cargo fmt