#pragma once #include #include #include #include namespace portable_executable { struct RelocInfo { uint64_t address; uint16_t* item; uint32_t count; }; struct ImportFunctionInfo { std::string name; uint64_t* 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); }