当前位置 : 主页 > 编程语言 > delphi >

是否可以将文件插入到exe中?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我需要在下载时将生成的文件插入到exe中.目前,我创建一个“空”文件(填充重复的字符)并使用exe打包.下载时,我查看安装程序的字节,通过查找重复字符找到文件,然后插入生成的文件.
我需要在下载时将生成的文件插入到exe中.目前,我创建一个“空”文件(填充重复的字符)并使用exe打包.下载时,我查看安装程序的字节,通过查找重复字符找到文件,然后插入生成的文件.

然而,这个过程不起作用.重复字符不会显示在字节中.但我确定文件在那里,因为如果我运行exe,它会被解压缩.我做错了什么或者甚至可能将文件插入到exe中?

另请注意,我使用Inno Setup Script v5.5.1将项目编译为exe.

如果要更改[Files]条目中指定的文件的内容并编译到安装程序可执行文件中,则必须:

>创建一个至少与要插入的最大内容一样大的虚拟文件.
>使用独特且易于区分的文件填充文件(或至少前64个字节左右).
>使用“nocompression noencryption dontverifychecksum”标记标记其[Files]条目.

然后,您应该能够扫描#2中标记的结果可执行文件,然后替换所需的数据.但请注意,这样做可能会使安装文件上的任何数字签名失效,尽管我还没有对此进行测试.

请注意,如果要插入的内容小于虚拟文件大小,则额外字节仍将保留在插入内容的末尾.因此无论读取什么文件都必须有一些方法来忽略它或识别有趣内容的结束.

网友评论