#pragma once #include #include #include namespace portable_executable { struct RelocInfo { ULONG64 address; USHORT* item; ULONG32 count; }; struct ImportFunctionInfo { std::string name; ULONG64* address; }; struct ImportInfo { std::string module_name; std::vector function_datas; }; using vec_sections = std::vector; using vec_relocs = std::vector; using vec_imports = std::vector; PIMAGE_NT_HEADERS64 GetNtHeaders(void* image_base); vec_relocs GetRelocs(void* image_base); vec_imports GetImports(void* image_base); }