【发布时间】:2015-03-05 16:25:20
【问题描述】:
我有这个线程在我的程序进程中运行。该线程应该读取该进程的程序内存以检测是否发生了任何禁止的代码注入。现在如何访问进程的程序内存?我可以使用
ReadProcessMemory();
函数,如果我获得带有 ALL_ACCESS 标志的进程句柄,则读取程序内存? 还有一种方法可以搜索这个程序内存,我可以限制这个内存扫描到几个特定的感兴趣的方法或检测特定方法的基地址和长度?
【问题讨论】:
-
那是为了读取另一个进程。您不需要任何 API 来读取您自己的内存。当代码在 Windows 中已经是只读时,很难看出这一点。
-
@EJP 哦,你是对的。
-
@EJP 你知道如何在进程中定位程序内存吗?求好奇心。
-
您可以使用 VirtualQueryEx 枚举进程地址空间 - 在您的情况下,您将寻找可执行的部分。
-
你可以只使用函数地址。
标签: c++ windows multithreading process