我知道Windows中的每个进程都有自己的私有内存地址,这是一个受保护的区域,防止写入其他内存。Windows保证ASLR私有内存将保持安全。
但是根据Windows内部第1章:
the debugger simply opens the process with OpenProcess, this allows you change memory in the target process
.
那么私有内存的意义是什么?没有沙箱?或者Windows只是否认自己的文档?
关键是每个进程都有自己的地址空间,可以防止其他进程的意外干扰。它并不是针对检验或修改的绝对证明。这只是有用与安全的权衡之一。
还要注意,用户通常没有权限打开属于其他windows会话一部分的进程。(他们只有在拥有调试权限的情况下才能这样做。特权是另一个有用与安全的权衡,它们允许通常被禁止的操作,而不需要引用安全描述符。