首页
社区
课程
招聘
[求助]通过修改PE的文件对齐FileAlignment,把原exe文件拉伸
发表于: 2017-12-15 16:56 3359

[求助]通过修改PE的文件对齐FileAlignment,把原exe文件拉伸

2017-12-15 16:56
3359
新求帮助! 谢谢!
最近在学习PE文件格式,了解了PE的 DOS头 、NT头(PE标识、标准PE头、可选PE头)、节表等相关信息。 想手动做些小程序来加深学习。
我写了一份拉伸PE文件的代码,预期结果是拉伸后的PE文件还可以执行。
原exe文件的 FileAlignment = 0x200   SectionAlignment = 0x1000,我想把这个FileAlignment的值改为0x1000,然后按照这个文件对齐来拉伸exe文件,并保证它正常运行。
我做了以下的修改:
FileAlignment = 0x1000
SizeOfHeaders = 0x1000 (原exe为0x200,现在按照0x1000对齐后的值)
节头中的的 SizeOfRawData 和 PointerToRawData字段也按照0x1000对齐后做了修改
现在拉伸出来的exe通过010editer的exe模板可以解析,节数据内容和原exe的内容相同,但是程序无法运行,错误提示为:不是有效的win32应用程序

为了验证程序是否拉伸时各个节数据的偏移是否有误,我找了一个新的exe文件,该exe的FileAlignment和SectionAlignment相同,
运行我的代码之后保存的新exe可以运行,我觉得拉伸代码的算法应该没有问题,是不是还有其他的字段我没有修改?
在此请求帮助, 怎么样把一个0x200文件对齐的exe拉伸成一个0x1000文件对齐的exe?



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
你好,请问下您解决了吗,可以加个联系方式请教请教您吗。qq:1040210360,vx:13195217462
2020-7-18 11:53
0
雪    币: 50
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
https://github.com/vShellCode/Analysis-of-PE-structure
2020-7-20 11:58
0
游客
登录 | 注册 方可回帖
返回
//