gpt4 book ai didi

visual-studio - 为什么我可以在没有管理员权限的情况下将 visual studio 附加到进程

转载 作者:行者123 更新时间:2023-12-04 03:15:24 25 4
gpt4 key购买 nike

好吧,标题总结了我的问题,但我会详细说明。我一直认为任何没有管理员权限运行的进程不应该能够访问任何其他进程的内存空间,当然也不应该停止它的执行。

但是,对于在非特权帐户下运行的 visual studio,我能够附加到在同一帐户下运行的一些进程并调试它们。为什么这是可能的?操作系统不应该阻止这种情况吗?

提前致谢并干杯

最佳答案

要访问任何其他进程的内存空间,我们需要使用 PROCESS_VM_READ|PROCESS_VM_OPERATION|PROCESS_VM_WRITE 打开进程。为此,非强制性需要 SE_DEBUG_PRIVILEGE - 如果进程运行在与调试器相同的 session ,具有相同的 token - 通常它是安全描述符 (DACL) 允许为此调试器打开它。这绝对是预料之中的。所以在这里提问 - 我们是否可以打开具有完全调试权限的进程?如果这个“对等”进程(在同一用户下运行,具有相同的权限)——为什么不呢?

来自DebugActiveProcess功能

The debugger must have appropriate access to the target process, and it must be able to open the process for PROCESS_ALL_ACCESS. DebugActiveProcess can fail if the target process is created with a security descriptor that grants the debugger anything less than full access. If the debugging process has the SE_DEBUG_NAME privilege granted and enabled, it can debug any process.

并从你自己的评论 - 除了 protected 进程,如果只有你的调试器在调用 DebugActiveProcess 时也 protected 进程(保护级别不少)(是的,这也可能是调试 protected 进程)

关于visual-studio - 为什么我可以在没有管理员权限的情况下将 visual studio 附加到进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41481236/

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