【问题标题】:OpenProcess/ReadProcessMemory/WriteProcessMemory/CloseHandle equivalentOpenProcess/ReadProcessMemory/WriteProcessMemory/CloseHandle 等效
【发布时间】:2014-06-27 21:48:56
【问题描述】:

这些 Windows 函数的等效 api 是什么?如果您不熟悉 windows 功能,它们所做的只是打开一个进程,访问(读取和写入)它的内存并关闭它的句柄。

这也可以仅通过系统调用来完成吗?

【问题讨论】:

  • 有一个很好的页面 HERE 讨论 将 Win32 C/C++ 应用程序迁移到 Linux on POWER,第 1 部分:过程,线程和共享内存服务
  • readprocessmemory、writeprocessmemory 和 closehandle 类似于 linux 中对文件描述符的读、写和关闭操作。而且我没有找到任何 linux api 来从 processid 获取 fd

标签: c++ c linux windows unix


【解决方案1】:

您正在寻找ptrace。尽管名称如此,它也将针对 Linux 和可能的其他系统上的单个线程。如果该博客文章没有帮助,可以通过 Google 找到更多信息。

【讨论】:

  • 是的。这看起来不错。谢谢。
【解决方案2】:

如果您使用的是更现代的内核,您可以尝试process_vm_readv,它似乎更接近模拟 ReadProcessMemory,只是它比 ptrace 甚至 Windows 等效项更干净一些。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 2012-05-30
    相关资源
    最近更新 更多