use elfload::Elf; fn main() { let ls_bytes = include_bytes!("/bin/ls"); match Elf::<4>::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); } } }