char* RvaToRaw(char* pFile,DWORD rva) { IMAGE_DOS_HEADER* pdh=(IMAGE_DOS_HEADER*)pFile; IMAGE_NT_HEADERS* pnh=(IMAGE_NT_HEADERS*)(pFile+pdh->e_lfanew); DWORD sectionnum=pnh->FileHeader.NumberOfSections; IMAGE_SECTION_HEADER* psh=(IMAGE_SECTION_HEADER*)(pnh+1); for(DWORD i=0;i<sectionnum;i++) { if(psh[i].VirtualAddress<=rva&&rva<=(psh[i].VirtualAddress+psh[i].SizeOfRawData)) { DWORD radr=rva-psh[i].VirtualAddress+psh[i].PointerToRawData; return (pFile+radr); } } return NULL; }
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)