gpt4 book ai didi

linux - Linux 中 VirtualProtectEx/CreateRemoteThread 的等价物?

转载 作者:可可西里 更新时间:2023-11-01 10:58:02 25 4
gpt4 key购买 nike

我想知道在库中或系统调用中是否存在允许进程与其他进程空间交互的 Windows API 的等效版本,这意味着修改第二个进程的流程。这是为了在不杀死它的情况下在正在运行的进程中注入(inject)一个.so。

谢谢!

最佳答案

也许看看这里:CreateRemoteThread in Linux

我不知道还有比那里描述的更简单的方法。在 Windows 上你有这个花哨的 API,例如 VirtualProtectEx。在 Linux 上,你会写一个 .so,例如执行 pthread_create在 __attribute__((constructor)) 函数中。然后您将通过 LD_PRELOAD 机制加载那个 .so。

CreateRemoteThread 的下一个最好的事情是操纵主线程使用 ptrace API 的过程。但这会涉及

  1. 保持线程
  2. 保存上下文
  3. 为 pthread_create 设置参数
  4. 设置IP为pthread_create并执行
  5. 恢复旧上下文。

我认为操纵内存访问权限还涉及从进程上下文调用 mprotect。正如上面已经提到的,最简单的方法这样做不会使用 ptrace,而是使用预编译的共享对象。

关于linux - Linux 中 VirtualProtectEx/CreateRemoteThread 的等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35214185/

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