Manual PE mapping: relocations, IAT rewrite, section permissions, TLS.
[read_and_map_module] loads a file, maps it, and returns
(PeMetadata, base). [manually_map_module] does the same from a
buffer. Set clean_dos_header to wipe MZ / DOS stub IOCs.
let (_pe, base) = manualmap::read_and_map_module(
r"C:\Windows\System32\ntdll.dll",
true,
false,
).unwrap();