From 9c46d94b30bce282a590f8a6dcbec4498f7e18b0 Mon Sep 17 00:00:00 2001 From: Johannes Stoelp Date: Wed, 27 Apr 2022 23:48:33 +0200 Subject: initial commit of elfload --- examples/ls.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 examples/ls.rs (limited to 'examples/ls.rs') diff --git a/examples/ls.rs b/examples/ls.rs new file mode 100644 index 0000000..94da7e8 --- /dev/null +++ b/examples/ls.rs @@ -0,0 +1,24 @@ +use elfload::Elf; + +fn main() { + let ls_bytes = include_bytes!("/bin/ls"); + + match Elf::parse(ls_bytes) { + Ok(elf) => { + println!("ELF machine: {:?} entry: 0x{:08x}", elf.machine, elf.entry); + for l in &elf.load_segments { + println!( + "LOAD: vaddr: 0x{:08x} zero_pad: {:8} {}{}{}", + l.vaddr, + l.zero_pad, + if l.x { 'X' } else { '-' }, + if l.w { 'W' } else { '-' }, + if l.r { 'R' } else { '-' } + ); + } + } + Err(e) => { + eprintln!("Parsing /bin/ls ELF file failed with {:?}.", e); + } + } +} -- cgit v1.2.3