【发布时间】:2017-02-08 10:30:22
【问题描述】:
使用NtQueryInformationProcess,可以通过读取返回的PROCESS_BASIC_INFORMATION类型结构中的PebBaseAddress字段来获取当前进程基地址。
我已经看到使用ReadProcessMemory() 来读取与当前进程的基地址相关的内存的代码,因为前几个字节包含一些显示详细进程信息的指针。我还需要获取其中的一些信息,research 向我展示了如何做到这一点。
但是,我仍然很困惑,为什么在从当前进程读取内存时需要ReadProcessMemory()。相对于进程基的指针不能被取消引用,还是会/可能导致分段错误?指针是否与进程基相关?
【问题讨论】:
-
不需要。只需尝试即可轻松验证。
-
ReadProcessMemory 广泛用于读取其他进程的内存。在您的情况下,您可以使用指针
-
@HansPassant 简单地尝试并不能保证它在所有可能的情况下都会成功,因此问题。
标签: c++ windows readprocessmemory