gpt4 book ai didi

linux - 在 Linux 中创建远程线程

转载 作者:IT王子 更新时间:2023-10-29 00:21:54 25 4
gpt4 key购买 nike

我正在使用 CreateRemoteThread在 Windows 中,想知道在 Linux 中是否可以做同样的事情。可以在 Linux 中执行此操作吗?

最佳答案

在 Linux 上执行此操作的传统方法是创建一个包含您的代码的动态库 (.so),然后分别强制将您的库加载到正在运行的应用程序中。没有像 Windows 上的 CreateRemoteThread 这样的一站式商店。

基本步骤如下:

  1. 创建并链接包含您希望在远程进程中执行的代码的 .so 动态库(在 macOS 上为 .dylib)。
  2. 在汇编中编写一些非常简单的代码来加载指定的 so 文件(主要是从 this link 复制粘贴,第 1 部分)。
  3. 将所述加载器 ASM 作为二进制有效载荷嵌入到第二个代码文件/应用程序的缓冲区中。在这里你将使用 ptrace运行在步骤 2 中编写的二进制有效负载,这将触发目标应用程序在步骤 1 中创建的 .so 上调用 _dl_open(),其中包含您希望运行的实际代码。 (样本在 the same link 中给出,第 2 部分。)

如果您需要您的代码在与主泵不同的线程中运行,那么您应该在第 1 步的代码中使用 pthread_create

希望这能回答您的问题。是的,它比 Windows 更复杂;但它应该同样有效。此外,您可以将步骤 2 和 3 中的几乎全部代码重新用于 future 的远程代码注入(inject)项目。

关于linux - 在 Linux 中创建远程线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10534841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com