首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux中的CreateRemoteThread

Linux中的CreateRemoteThread
EN

Stack Overflow用户
提问于 2012-05-10 21:17:40
回答 2查看 4.3K关注 0票数 10

我在Windows中使用CreateRemoteThread,想知道在Linux中是否也有同样的事情。在Linux中可以做到这一点吗?

EN

回答 2

Stack Overflow用户

发布于 2013-02-21 01:36:26

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

因此,以下是基本步骤:

  1. 创建一个dylib/so,其中包含您希望在远程进程中执行的代码。
  2. 在汇编中编写一些非常简单的代码,用于加载指定的so文件(主要从this link的第1部分复制和粘贴)。
  3. 将加载程序ASM作为二进制有效负载嵌入到第二个代码文件/app的缓冲区中。在这里,您将使用ptrace来运行在步骤2中编写的二进制有效负载,这将触发目标应用程序在步骤1中创建的.so上调用_dl_open(),该.so包含您希望运行的实际代码。(示例见the same link,第2部分。)

如果您需要在不同于主泵的单独线程中运行代码,则应在步骤1中的代码中使用pthread_create

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

票数 9
EN

Stack Overflow用户

发布于 2013-02-20 23:05:03

`#include pthread.h

int pthread_create(pthread_t *thread,const pthread_attr_t *attr,pthread_create *(*start_routine) (void *),void *arg);`编译并链接-pthread。

有关详细信息,请参阅man pthread_create

票数 -5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10534841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档