From e954723194fe8e5faa9522d94a81a17451300ebc Mon Sep 17 00:00:00 2001 From: tzlil Date: Tue, 21 Feb 2023 22:59:26 +0200 Subject: intial commit, added all structs --- src/main.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/main.rs (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..7a189bf --- /dev/null +++ b/src/main.rs @@ -0,0 +1,25 @@ +mod structs; +use crate::structs::ElfHeader; + +#[repr(C)] +#[derive(Debug)] +struct Elf { + header: &'static ElfHeader, +} + +impl Elf { + pub fn new(bytes: &[u8]) -> Elf { + let header = unsafe { &*(bytes.as_ptr() as *const ElfHeader) }; + assert_eq!(&header.ident.magic, b"\x7fELF"); + + Elf { + header + } + } +} + +fn main() { + let data = include_bytes!("../elf"); + let elf = Elf::new(&data[..]); + println!("{:?}", elf); +} -- cgit 1.4.1