"""list_imports.py — list all DLLs imported by a PE file.""" import struct, sys with open(sys.argv[1], "rb") as f: data = f.read() pe_off = struct.unpack_from("offset map secs = [] for i in range(num_sec): sh = sec_off + i*40 vaddr = struct.unpack_from("10} vaddr=0x{v:08x} vsize={sz:>8} roff=0x{r:x}") print("imports:") pos = rva2off(imp_rva) i = 0 while True: desc = data[pos:pos+20] if desc == b"\0"*20: print(f" [{i}] (null terminator)") break ilt_rva, ts, fwc, name_rva, iat_rva = struct.unpack("