Delphi 下载代码并动态执行

Delphi 下载代码并动态执行,delphi,Delphi,在执行应用程序时,是否可以下载代码并执行/注入 我希望在不使用更新程序的情况下保持.exe的小型化和可扩展性 搜索google有一段时间了,但是找不到任何execpt用于下载其他总是触发抗病毒的.exe。你应该将你的业务逻辑放在dll中,只有更新逻辑放在exe中。每次启动应用程序时,它都应该检查更新。如果需要,它将下载新的dll并更新其功能 通过动态加载dll,如果在exe启动后第一件事就是检查更新,则在执行更新时甚至无需重新启动应用程序 exe中的进程如下所示: 1.启动小型exe 2.检查更

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

我希望在不使用更新程序的情况下保持.exe的小型化和可扩展性


搜索google有一段时间了,但是找不到任何execpt用于下载其他总是触发抗病毒的.exe。你应该将你的业务逻辑放在dll中,只有更新逻辑放在exe中。每次启动应用程序时,它都应该检查更新。如果需要,它将下载新的dll并更新其功能

通过动态加载dll,如果在exe启动后第一件事就是检查更新,则在执行更新时甚至无需重新启动应用程序

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


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

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


如果您对这个概念感兴趣,这里有一个解决方法。

否。您可以发送新的软件包或DLL并动态加载它们,但您不能随意下载并动态运行大部分代码。这可能会有帮助。您正在更新哪种代码?如果它是业务逻辑(而不是说,UI代码),也许你应该考虑使用某种形式的Web服务的设计。更新器下载代码并将其保存以重用。如果您不想使用更新程序,但仍然想下载代码,那么每次程序运行时都必须重新下载代码。用户不会喜欢在桌面程序中这样做。如果您每次都要下载代码,那么您不妨编写一个Web应用程序,这样用户的期望值就会设置得更好。了解如何编写viri和漏洞利用-它们使用内存负载。既然你要绕过操作系统提供的文件加载器,你就必须手动完成所有这些功能:重新定位、修复…@Arioch'The不知道它是grammar.stackexchange.com herestick.grammarexhange.org;-)