6

执行应用程序时是否可以下载代码并执行/注入它?

我想在不使用更新程序的情况下保持我的 .exe 小且更新。

一直在谷歌搜索,但除了下载其他总是触发 Antivir 的 .exe 外,找不到任何东西。

4

2 回答 2

7

您应该将您的业务逻辑放在 dll 中,并且只将更新逻辑放在 exe 中。每次启动应用程序时,它都应该检查更新。如果需要,它将下载新的 dll 并更新其功能。

通过使 dll 动态加载,如果您在 exe 启动后首先检查更新,您甚至无需在执行更新时重新启动应用程序。

exe 内部的过程如下: 1. 启动小型 exe 2. 检查更新。如果需要,请在 dll 的特定位置下载 dll。3. 从该特定位置加载 dll

当然,为了便于使用它,您不应该允许多个实例,因为如果您已经启动它并启动另一个实例,您将有另一种情况需要处理:您尝试进行更新但需要覆盖的文件正在使用中...

于 2013-01-22T07:08:15.227 回答
4

有一种方法可以运行 exe,将其注入其他进程的地址空间。但可以肯定的是,您的软件会被启发式 av 标记为恶意软件。

如果您对这个概念感兴趣,这里是可以解决问题的单元。

于 2013-01-22T07:13:23.350 回答