怎么样提取PE文件中的资源?

starttt 2004-12-01 11:15:50
怎么从IMAGE_RESOURCE_DATA_ENTRY结构的OffsetToData字段计算出资源在文件中的真正位置,我晕了好久了!
...全文
139 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
goldfield 2004-12-02
  • 打赏
  • 举报
回复
而且怎样覆盖这些资源呢,高手快告诉我啊
goldfield 2004-12-02
  • 打赏
  • 举报
回复
我也想知道
starttt 2004-12-02
  • 打赏
  • 举报
回复
哈哈,昨天终于整出来了,郁闷了好久!原来OffsetToData中存的是可执行文件读到内存中后的地址,即在节表(section)中的“VitualAdress”,而不是磁盘文件中的偏移,节表中的“PointerToRawData”才是指向在文件中的位置的,所以计算资源文件的位置应该是这样的:IMAGE_RESOURCE_DATA_ENTRY.OffsetToData-(IMAGE_SECTION_HEADER.VirtualAddress-IMAGE_SECTION_HEADER.PointerToRawData)。其中VirtualAddress和PointerToRawData之差即可以看做是读入进程虚拟地址空间后和在硬盘上的静态文件的偏移,(原因好像是因为文件对齐吧,我也不是很清楚,哈哈)。不知道大家看不看得懂啊,唉,没办法,看来要多连连语文了!
xkqx99@163.com

2,586

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧