【问题标题】:Is it possible to inject and execute an application from an external process?是否可以从外部进程注入和执行应用程序?
【发布时间】:2012-07-02 07:01:21
【问题描述】:

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

dll 唯一的缺点是它们对便携性不太友好,并且使它们具有便携性会消耗大量代码。

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

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

【问题讨论】:

    标签: c++ resources execute inject


    【解决方案1】:

    您的问题未标记为“Windows”,但从措辞来看,我仍然假设您指的是 Windows。

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

    其中一个差异(和困难)可能是图像库,在 Win32 下(通常)总是相同的。对于 DLL,重新定位是很常见的事情,而对于可执行文件则不是。另一方面,如果你想在已经存在的进程代码之外注入代码,那么你想要的地址可能不是空闲的。

    【讨论】:

      猜你喜欢
      • 2010-09-22
      • 1970-01-01
      • 2015-05-01
      • 2015-06-30
      • 2019-11-22
      • 1970-01-01
      • 2017-12-03
      • 2021-01-17
      • 1970-01-01
      相关资源
      最近更新 更多