MCPcopy Create free account
hub / github.com/changeofpace/Self-Remapping-Code / IsValidPEHeader

Function IsValidPEHeader

Self-Remapping Code/pe_header.cpp:36–46  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34// utils
35
36bool IsValidPEHeader(ULONG_PTR BaseAddress)
37{
38 if (!BaseAddress) return false;
39 PIMAGE_DOS_HEADER dosHeader = PIMAGE_DOS_HEADER(BaseAddress);
40 if (dosHeader->e_magic != IMAGE_DOS_SIGNATURE) return false;
41 PIMAGE_NT_HEADERS ntHeader = PIMAGE_NT_HEADERS(BaseAddress + dosHeader->e_lfanew);
42 if (ntHeader->Signature != IMAGE_NT_SIGNATURE) return false;
43 PIMAGE_OPTIONAL_HEADER optionalHeader = PIMAGE_OPTIONAL_HEADER(&ntHeader->OptionalHeader);
44 if (optionalHeader->Magic != IMAGE_NT_OPTIONAL_HDR_MAGIC) return false;
45 return true;
46}
47
48const PIMAGE_SECTION_HEADER GetPeSectionByName(const PE_HEADER& HeaderData, const char* SectionName)
49{

Callers 2

FillPEHeaderFunction · 0.85
GetSizeOfImageFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected