exe文件合并原理
请问以前用过一个叫"天忆文件合并器"的软件,可以把两个exe文件合并成一个exe,执行这个合并后的EXE文件就相当于执行了合并的两个exe文件. 谁知道这EXE文件合并的原理啊?是不是要用到PE文件结构呢? ===============我想用VB做到,最好能给个源代码==============
可以参考自解压的方法: 将1.exe、2.exe共同压缩在一个数据文件中(比如用RAR、ZIP等),将数据文件潜入在3.exe中,让3.exe运行时自动将1.exe、2.exe解压到临时文件夹,并在其中运行,这样你的问题就解决了。 PS 编程最重要的不是代码,而是思路。由思路到代码只需要机械地翻译,这只要上网找就行了,但思路永远是需要自己去想象的。
如果仅是比较简单的合并两个文件,然后运行后执行两个文件。 1。 实现合并功能 1。EXE、2。EXE 是要合并的文件,3。EXE 是合并后的文件 首先做一个可以能解并运行解并后的文件的功能模块。(Core。exe) 二进制方式新建文件(或清空) 3。
EXE。 读取 Core。EXE 内容并且写入到 3。EXE 中,记住 Core。exe 文件长度 lCoreFileLen。 读取 1。EXE 内容并且写入到 3。EXE 中(记住是增加,在文件写入Core。EXE 当前文件指针处开始写入),记住 1。
exe 开始写入的位置 lOneFilePoint 和 文件长度 lOneFileLen。 按上面方法 将 2。EXE 增加到 3。EXE 中,记住 2。EXE 开始写入的位置 lTwoFilePoint 和 文件长度 lTwoFileLen 最后在文件当前位置增加一个结构体: { 第一个文件在合并的文件的位置(即 lOneFilePoint) 第一个文件的长度(即 lOneFileLen) 第二个文件在合并的文件的位置(即 lTwoFilePoint) 第二个文件的长度(即 lTwoFileLen) 魔术字符串(判断是否是合并成功的文件,可以用长度为4的字符串,那样可以用long比较,例如 "Bind" ) } 2。
实现Core。
EXE 二进制方式打开自身文件,读取最后四个字符串跟自身定义的魔术字符串是否相等,否则退出 将文件指针指向文件大小 - 上面结构的大小,然后将文件读入到一个结构里面,按照结构中保存的各个文件位置和文件长度分别解并那些文件到临时文件夹中 运行解并的文件 这上面说的是很简单的方法,你可以在这个方法上添加更符合你自己的。
3.exe是有两个文件头的.vb很难做到的,换c吧
关键是你要合并什么样的exe文件
我也想知道啊。
答:If Len(Inet1.OpenURL(" ")) <> 0 Or_ Len(Inet1.OpenURL(" ")) <> 0 Then MsgBox "成功...详情>>
答:Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFile...详情>>