windows – PE标头的大小
发布时间:2020-12-14 05:26:38 所属栏目:Windows 来源:网络整理
导读:有没有办法找出PE标题的大小而不读取所有文件或整个文件? 解决方法 您可以像这样计算PE头的总大小: sizeof(Signature) + sizeof(FileHeader) + sizeof(OptionalHeader) + sizeof(SectionTable) 文件头总是具有相同的大小,但OptionalHeader的大小可以不同,
有没有办法找出PE标题的大小而不读取所有文件或整个文件?
解决方法
您可以像这样计算PE头的总大小:
sizeof(Signature) + sizeof(FileHeader) + sizeof(OptionalHeader) + sizeof(SectionTable) 文件头总是具有相同的大小,但OptionalHeader的大小可以不同,部分表大小也是如此. OptionalHeader的大小存储在FileHeader.SizeOfOptionalHeader中,而section表大小等于FileHeader.NumberOfSections * sizeof(IMAGE_SECTION_HEADER) 还有一些C代码: DWORD SizeOfPEHeader(const IMAGE_NT_HEADERS * pNTH) { return (offsetof(IMAGE_NT_HEADERS,OptionalHeader) + pNTH->FileHeader.SizeOfOptionalHeader + (pNTH->FileHeader.NumberOfSections * sizeof(IMAGE_SECTION_HEADER))); } 您所要做的就是读取DOS标头,获取PE偏移量(e_lfanew)并将PE.Signature PE.FileHeader读入内存.这是两个固定大小的阅读操作,您可以获得所需的所有信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows – 使用WMIC查询本地管理员组成员
- 如何在两个站点之间配置没有共享存储的拉伸群集?
- 是否只有Windows的Cacti替??代品?
- 服务器被植入挖矿木马的心酸过程
- 组策略 – 是否可以通过GPO禁用MS Office受保护的视图?
- 如何格式化R Shiny DataTable像Microsoft Excel表格
- 名称XXX不存在于命名空间YYY(XAML VS12 Windows 8)
- windows – 如何导出URL重写规则?
- windows-server-2008 – 为什么我不能在Powershell中导航Ac
- windows-phone – 无法让AppApp部署的WinAppDeployCmd工作