查找PE文件的入口點的文件偏移
//求入口点的文件偏移//NumOfSection 是Section段的个数
//AddressOfEntryPoint是PE文件入口地址
DWORD RawinSection = 0;
DWORD RawOfEntryPoint = 0;
WORD count=0;
while(count<NumOfSection)
{
if((AddressOfEntryPoint >= pSectionHead->VirtualAddress)
&&(AddressOfEntryPoint < pSectionHead->VirtualAddress+pSectionHead->Misc.VirtualSize))
{
RawinSection=AddressOfEntryPoint-pSectionHead->VirtualAddress;
RawOfEntryPoint=pSectionHead->PointerToRawData+RawinSection;
break;
}
pSectionHead++;
count++;
}
if (RawOfEntryPoint == 0)
{
::MessageBox(NULL, "PE file is a error file", NULL, NULL);
return 0;
}
return RawOfEntryPoint;
页:
[1]