6 releases
0.1.4 | May 31, 2020 |
---|---|
0.1.3 | May 31, 2020 |
0.0.2 | May 21, 2020 |
#19 in #win32
115KB
890 lines
Contains (DOS exe, 56KB) samples/pe.exe
BINPER
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.
Dependencies
~5MB
~89K SLoC