基础知识
主程序
#include <stdio.h>
#include <stdlib.h>
#include "func.h"
typedef int(*lpPlus)(int, int);
int main(int argc ,char* argv[])
{
TestPrintRelocation();
return 1;
}
实现
VOID TestPrintRelocation()
{
LPVOID pFileBuffer = NULL;
PIMAGE_DOS_HEADER pDosHeader = NULL;
PIMAGE_NT_HEADERS pNTHeader = NULL;
PIMAGE_FILE_HEADER pPEHeader = NULL;
PIMAGE_OPTIONAL_HEADER32 pOptionHeader = NULL;
PIMAGE_DATA_DIRECTORY pDataDirectory = NULL;
PIMAGE_BASE_RELOCATION pBaseRelocation = NULL;
DWORD SizeOfBlock;
WORD* pRelocationAddress = NULL;
DWORD RelocationAddress ;
DWORD AddressAttribute;
if (!ReadPEFile(FILEPATH, &pFileBuffer)