是否可以从外部进程注入和执行应用程序?

时间:2012-07-01 16:56:58

标签: c++ resources execute inject

我喜欢将DLL注入进程,因为我可以更改程序的某些值。

dll的唯一减号是它们不是非常便携,并且使它们便携可以消耗大量代码。

我只是想知道是否可以注入存储在资源中然后执行它的应用程序(到进程)?

如果是这样,哪些代码部分可能与dll的注入不同?

1 个答案:

答案 0 :(得分:0)

您的问题未标记为“Windows”,但根据措辞,我仍然假设您引用了Windows。

鉴于必要的访问权限,可能将可执行文件注入另一个进程,cygwin中的fork实现是一个概念验证。 Windows不支持fork之类的任何内容,至少不会在公共API中公开。 Cygwin通过创建一个新进程并将自己的进程注入另一个进程(包括所有数据)来实现它。从资源中读取而注入它几乎是一回事。

其中一个差异(和困难)可能是图像库,它在Win32下(通常)始终相同。对于DLL来说,通常需要重新设置,而对于可执行文件则不是。另一方面,如果您想将代码另外注入现有的进程代码,那么您想要的地址可能不是免费的。