[2018]在 Windows 10 上 WriteProcessMemory 比 NtWriteVirtualMemory 慢很多 huoji windows 2023-09-10 366 次浏览 0 次点赞 WriteProcessMemory 不仅仅是一个NT包装函数,它还执行一些额外的工作(例如保护内存、刷新指令等) 通过逆向WPM 调用 NtQueryVirtualMemory 来确定我们正在写入的区域中页面的访问保护。如果访问保护不是正确的,WPM 将设置 ACCESS_VIOLATION 错误代码并返回(如果访问保护是 PAGE_NOACCES 或 PAGE_READONLY)。 如果没有,它会调用 NtProtectVirtualMemory 设置适当的访问保护。检查之后,函数调用 NtWriteVirtualMemory 和 NtFlushInstructionCache,对它们进行更多检查,然后返回。 这就是为什么慢的原因 本文由 huoji 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。 点赞 0
还不快抢沙发