合并两个 exe 文件

合并两个 exe 文件

可以合并两个 exe 文件吗?

我需要它像这样工作:

  • 用户正在运行combined.exe(2个 exe 文件的组合)。
  • 当第一个 exe 被加载并且用户在那里单击“开始”(我得到了源代码)时,第二个 exe 文件将运行。

那可能吗?

答案1

添加第二个 EXE 文件作为资源在包装程序中。然后当你需要运行它时,你可以提炼它到一个临时目录运行

(我认为我拿到了源代码,你的意思是 AutoIt 代码?)我只做了一个快速检查,但我认为 AutoIt(或至少编译器)支持添加和提取资源,它应该支持使用 Windows API。至于保护 EXE,除了强加密之外,你几乎无能为力,但你可以文件,然后使用文件标记_关闭时删除标志设置为自动删除它。

答案2

在恶意软件世界中,人们经常使用.exe绑定器将两者结合起来,有时还会加密最终结果以防止被检测到,因此您可能会发现许多可用于执行此操作的软件会导致您的应用程序被标记为恶意软件。

用于恶意目的的软件示例:文件连接器

但是,如果您忽略加密存根,您可能会发现没有被标记,只需上传到virustotal.com并检查结果即可。无论您选择哪种解决方案,我都会这样做。

答案3

如果您不希望用户窥探您的代码,则应该查看 EXE 保护程序。如果没有某种存根 EXE,则很难动态启动新进程,我甚至不会尝试从 AutoIt 编写 EXE 段。(实际上,我能够从 AutoIt 执行汇编片段,但在 Vista+ 上,数据执行保护通常会终止它。)

答案4

这与您的示例略有不同,但这是如何组合 .exe 的使用自动热键First.exe:在同一文件夹中编译以下脚本,Second.exe编译完成后,只需保留单个包装器.exe

FileCreateDir, tmp

FileInstall, First.exe, tmp\First.exe
FileInstall, Second.exe, tmp\Second.exe

RunWait, tmp\First.exe

MsgBox, 4, , Run Second.exe?

IfMsgBox, Yes
    RunWait, tmp\Second.exe

FileRemoveDir, tmp, 1

ExitApp

相关内容