在PE文件中添加另一个文件

本文以两个EXE文件为例,为了简便,在最后一个节区添加数据。也就是资源节(rsrc)。

也就是一个文件完全中完全包含另一个文件。

本文是资源方式添加,如果想以代码的方式添加并运行的话,只要稍微修改下就OK了。

第一步:把要复制的数据添加到文件

1、用WinHex打开要添加数据的文件,(为了下面记叙方便,取名为1.exe),移动到文件尾,  

2、再用WinHex打开要添加的文件,(同上,取名为2.exe)把整个文件选上,

右键——编辑——复制选块——16进制数据,这个文件的作用已完成,可以关闭了。

3、来到1.exe的文件末尾,选中最后一个字节,右键——编辑——剪切版数据——写入,

弹出对话框:“你想把剪切版的数据粘贴到文件的结尾吗(在偏移量9FFF之后)?”

点“是”,9FFF为原文件大小

再次弹出对话框: 

点“确定”A000为新加数据起始位置

第一步完成 

第二步:修改相关的数据,使PE文件仍然有效

需要的修改数据: 

可选头
SizeOfCode     所有含有代码区块的总大小

0x00004000 修改为 0x00005000

SizeOfImage    映像装入内在后的总尺寸

0x00011172 修改为 0x00012172

资源节表,如果添加在其它节,修改的就是其它的节表数据

VirtualSize    节表实际大小

0x00000459 修改为 0x00002000    这里就懒得计算了,直接改成最大就OK

SizeofRawData   在文件中对齐后的尺寸

0x00001000 修改为 0x00002000  

保存文件,程序可正常运行,添加文件成功!

相关推荐

发表评论

您的电子邮箱地址不会被公开。

QQ点我咨询