New Features: * Add fuzz targets for parts of our ELF parsing interface via cargo-fuzz * Add SysVHashTable which interprets the contents of a SHT_HASH section * Add StringTable::get_raw() to get an uninterpreted &[u8] * Add ParsingTable.len() method to get the number of elements in the table * Add some note n_type constants for GNU extension notes. * Add default "to_str" feature to get &str for gabi constant names Changed Interfaces: * Change File::segments() to return a ParsingTable instead of just a ParsingIterator * Change File's SectionHeader interfaces to provide a ParsingTable instead of just a ParsingIterator * Remove deprecated File::section_data_for_header() in favor of File::section_data() * Remove FileHeader wrapper types OSABI, Architecture, and ObjectFileType * Remove ProgramHeader wrapper types ProgType and ProgFlag * Remove Symbol wrapper types SymbolType SymbolBind SymbolVis * Remove wrapper type SectionType * Remove unhelpful SectionFlag wrapper type * Remove Display impl for FileHeader, SectionHeader, ProgramHeader, Symbol * Remove ParseError::UnsupportedElfVersion in favor of more general ParseError::UnsupportedVersion Bug Fixes: * Fix divide by zero panic when parsing a note with alignment of 0 (Error instead of panic) * Use checked integer math all over the parsing code (Error instead of panic or overflow) * Fix note parsing for 8-byte aligned .note.gnu.property sections (Successfully parse instead of Erroring) * Add size validation when parsing tables with entsizes (Error instead of panic)
23 lines
510 B
TOML
23 lines
510 B
TOML
[package]
|
|
name = "elf"
|
|
version = "0.6.0"
|
|
authors = ["Christopher Cole <chris.cole.09@gmail.com>"]
|
|
license = "MIT/Apache-2.0"
|
|
repository = "https://github.com/cole14/rust-elf/"
|
|
documentation = "https://docs.rs/elf/latest/elf/"
|
|
description = "A pure-rust library for parsing ELF files"
|
|
keywords = ["binary", "elf", "object", "parser"]
|
|
categories = ["no-std", "os", "embedded"]
|
|
readme = "README.md"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
name = "elf"
|
|
|
|
[dependencies]
|
|
|
|
[features]
|
|
default = ["std", "to_str"]
|
|
std = []
|
|
to_str = []
|