object

The object crate provides a unified interface to working with object files across platforms. It supports reading object files and executable files, and writing object files.

For reading files, it provides multiple levels of support:

Supported file formats: ELF, Mach-O, Windows PE/COFF, Wasm, and Unix archive.

Example for unified read API

```rust use object::{Object, ObjectSection}; use std::error::Error; use std::fs;

/// Reads a file and displays the content of the ".boot" section. fn main() -> Result<(), Box> { let bindata = fs::read("./multiboot2-binary.elf")?; let objfile = object::File::parse(&*bindata)?; if let Some(section) = objfile.sectionbyname(".boot") { println!("{:#x?}", section.data()?); } else { eprintln!("section not available"); } Ok(()) } ```

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.