//根据PE文件信息,计算各块大小和
ULONG GetFileLen(LPVOID pBaseaddr,LPVOID pReadBuf)
{
LPBYTE pBase=(LPBYTE)pBaseaddr;
PIMAGE_DOS_HEADER pDosHeader=(PIMAGE_DOS_HEADER)pReadBuf;
ULONG uSize=PIMAGE_OPTIONAL_HEADER((pBase+pDosHeader->e_lfanew+4+20))->SizeOfHeaders;
PIMAGE_SECTION_HEADER pSec = (PIMAGE_SECTION_HEADER)(pBase+pDosHeader->e_lfanew + sizeof(IMAGE_NT_HEADERS));
for(int i=0;i<PIMAGE_FILE_HEADER(pBase+pDosHeader->e_lfanew+4)->NumberOfSections;++i)
{
uSize+=pSec[i].SizeOfRawData;
}
return uSize;
}
根据PE文件信息获得文件大小
原创
©著作权归作者所有:来自51CTO博客作者mb61d995c26a1bb的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:删除运行程序本身
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java 根据HttpEntity 中contenttype获取文件类型
java 根据HttpEntity 中contenttype获取文件类型
apache HTTP Apache