elrond

Crates.ioelrond
lib.rselrond
version1.0.0
sourcesrc
created_at2016-12-31 20:45:07.363252
updated_at2018-01-04 17:42:52.984851
descriptionStandard conformant elf parser
homepagehttps://github.com/valarauca/elrdon
repositoryhttps://github.com/valarauca/elrond
max_upload_size
id7877
size2,351,222
Cody Laeder (valarauca)

documentation

https://valarauca.github.io/elrond/elrond/index.html

README

Elrond

Docs


To use

Add this to your Cargo.toml

[dependencies]
elrond = "1.0.0"

Code Example

extern crate elrond;
use elrond::prelude::*;

let mut v = Vec::with_capacity(4096);
let _ = my_file.read_to_end(v.as_mut_slice())?;
let elf = match elrond::parse_elf(v.as_slice()) {
	Ok(x) => x,
	Err(e) => panic!("Could not read elf file {:?}", e)
};

This crate is fairly feature complete and standard conformant.

It doesn't support all the GNU extensions which you'll likely encounter in a modern Linux or OSX binary. But MOST of what you want is here.

Also the some standards documents disagree on if the HiOS and LoOS are an inclusive range, or just markers. I'm just treating them as unique markers. Incorrect values are passed as Unknown


This is still a work in progress but a lot of progress has been made

Commit count: 9

cargo fmt