0

我想更改对 Dll 中空洞函数的内存页的保护,使其不再可执行。

这会影响将相同 dll 映射到虚拟地址空间的其他进程吗?

4

1 回答 1

0

TL;DR:不,它没有。

NX 位在虚拟/页面级别工作。每个进程都有自己的虚拟地址空间,不能直接影响另一个进程的地址空间(共享内存除外)。

不同的进程可以共享 DLL 的映射页。如果一个进程更改了一个页面,写入时复制启动并且该进程获得该页面的唯一副本,则其他进程的 DLL 视图不受影响。

有关 NX 的更多信息,请参阅英特尔® 64 和 IA-32 架构软件开发人员手册(第 3A 卷已链接,共 7 卷)。

此外,这是一篇较旧但仍然相关的 Microsoft文章,关于写时复制保护

于 2013-04-14T04:59:42.200 回答