将RVA转换成FOA后,不能访问了,各位看看啦。void printDll(IN LPVOID pDllBuffer)
{
PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNTHeader = NULL; PIMAGE_FILE_HEADER pFileHeader = NULL; PIMAGE_OPTIONAL_HEADER64 pOptionHeader = NULL; PIMAGE_SECTION_HEADER pSectionHeader = NULL; pDosHeader = (PIMAGE_DOS_HEADER)pDllBuffer; pNTHeader = (PIMAGE_NT_HEADERS)((DWORD)pDosHeader + pDosHeader->e_lfanew); pFileHeader = (PIMAGE_FILE_HEADER)((DWORD)pNTHeader + 4); pOptionHeader = (PIMAGE_OPTIONAL_HEADER64)((DWORD)pFileHeader +
                                  IMAGE_SIZEOF_FILE_HEADER); pSectionHeader = (PIMAGE_SECTION_HEADER)((DWORD)pOptionHeader +
                                 pFileHeader->SizeOfOptionalHeader);

PIMAGE_EXPORT_DIRECTORY pImageExport = (PIMAGE_EXPORT_DIRECTORY)RVATOFOA(
              pNTHeader, pOptionHeader->DataDirectory[0].VirtualAddress); printf("pExport:%x\n", pImageExport);
printf("NumberOfFunctions:%x\n", pImageExport->NumberOfFunctions);//这块出现005怎么不能访问?