C ++将EXE文件添加到EXE程序

时间:2014-01-10 11:51:54

标签: c++ c

我想将EXE文件添加到我的EXE控制台应用程序中。当我的控制台应用程序被触发时,所有EXE文件都要解压缩到我想要的位置。我怎样才能做到这一点?像TeamViewer.exe程序一样运行自己将文件复制到C:\ Program Files(x86)\或C:\ Users \%USERNAME%\ AppData \ Roaming \ TeamViewer。

2 个答案:

答案 0 :(得分:0)

您可以在文件末尾添加额外的字节(有效负载)。 例如,您可以附加包含依赖项的ZIP文件。 你有一个小小的教程here

然后你必须根据需要对提取进行编码。让我们调用loader作为程序的一部分,它必须提取并安装依赖项,然后运行原始的main函数。如果你没有安装依赖项就无法运行exe,那么你需要创建一个没有依赖项的外部加载器,并将主exe作为依赖项添加(在zip中)。

如果文件已签名,您可能会发现这有用question

答案 1 :(得分:0)

您可以将文件内容放在数组中。只需创建一个读取要嵌入的文件的工具,并生成以下两个文件:

// exefile.c
const char exefile[] = {0xff, 0xff, 0xff,....};

// exefile.h
extern const char exefile[123456];