gpt4 book ai didi

c++ - 为什么将 ReadProcessMemory() 与当前进程的句柄一起使用?

转载 作者:行者123 更新时间:2023-11-28 01:53:15 26 4
gpt4 key购买 nike

使用 NtQueryInformationProcess ,可以通过读取返回的 PROCESS_BASIC_INFORMATION 类型结构中的 PebBaseAddress 字段来获取当前进程基地址。

我见过使用 ReadProcessMemory() 的代码根据当前进程的基地址读取内存,因为前几个字节包含一些显示详细进程信息的指针。我还需要获取其中一些信息,并且 research向我展示了如何操作。

然而,我仍然很困惑,为什么 ReadProcessMemory()从当前进程读取内存时需要。相对于进程基的指针不能被取消引用,或者它会/可能会导致段错误吗?是否持有关于流程基础的指针?

最佳答案

ReadProcessMemory 将检查您自己进程中的地址范围是否有效,并在出现问题时返回错误 (ERROR_PARTIAL_COPY) 而不是崩溃。

除此之外,我看不出任何理由。如果您确定您的指针是正确的,那么使用 memcpy 就可以了(而且速度更快)。

关于c++ - 为什么将 ReadProcessMemory() 与当前进程的句柄一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42110646/

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