This commit is contained in:
2026-06-07 21:22:32 -04:00
parent a086fa6590
commit c9add923be
14 changed files with 413 additions and 46 deletions
+67
View File
@@ -0,0 +1,67 @@
#[repr(C)]
pub struct MZHeader {
pub magic: u16,
pub stuff: [u16; 15 + 4 + 10],
pub lfanew: u32,
}
#[repr(C)]
pub struct PeHeader {
pub magic: u32,
pub machine: u16,
pub num_sections: u16,
pub time_date_stamp: u32,
pub sym_tab_ptr: u32,
pub num_symbols: u32,
pub opt_header_size: u16,
pub characteristics: u16,
}
#[repr(C)]
#[derive(Default)]
pub struct OptHeader64 {
pub magic: u16,
pub major_linker_ver: u8,
pub minor_linker_ver: u8,
pub code_size: u32,
pub init_data_size: u32,
pub uninit_data_size: u32,
pub entry_addr: u32,
pub code_base: u32,
pub image_base: u64,
pub section_align: u32,
pub file_align: u32,
pub major_os_ver: u16,
pub minor_os_ver: u16,
pub major_image_ver: u16,
pub minor_image_ver: u16,
pub major_subsystem_ver: u16,
pub minor_subsystem_ver: u16,
pub win32_ver: u32,
pub image_size: u32,
pub headers_size: u32,
pub checksum: u32,
pub subsystem: u16,
pub dll_characteristics: u16,
pub stack_reserve_size: u64,
pub stack_commit_size: u64,
pub heap_reserve_size: u64,
pub heap_commit_size: u64,
pub loader_flags: u32,
pub num_of_rva_and_sizes: u32,
}
#[repr(C)]
#[derive(Default)]
pub struct Section {
pub name: [u8; 8],
pub virtual_size: u32,
pub virtual_addr: u32,
pub raw_data_size: u32,
pub raw_data_ptr: u32,
pub reloc_ptr: u32,
pub line_num_ptr: u32,
pub num_relocs: u16,
pub num_line_nums: u16,
pub characteristics: u32,
}