kdmapper-1803-20H2/kdmapper/portable_executable.hpp

35 lines
705 B
C++
Raw Permalink Normal View History

2020-05-30 21:26:01 +08:00
#pragma once
#include <Windows.h>
#include <stdint.h>
#include <vector>
#include <string>
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<ImportFunctionInfo> function_datas;
};
using vec_sections = std::vector<IMAGE_SECTION_HEADER>;
using vec_relocs = std::vector<RelocInfo>;
using vec_imports = std::vector<ImportInfo>;
PIMAGE_NT_HEADERS64 GetNtHeaders(void* image_base);
vec_relocs GetRelocs(void* image_base);
vec_imports GetImports(void* image_base);
}