在DPAPI中,
CryptProtectMemory
API允许您传递CRYPTPROTECTMEMORY_SAME_PROCESS
标志,这可以防止其他进程解密内存。绕过此限制的一种方法是使用OpenProcess
、WriteProcessMemory
和CreateRemoteThread
来将代码注入目标进程,并使其调用CryptUnprotectMemory
,从而解密内存并将其泄漏给其他进程。
假设两个进程都在Windows Vista或更高版本上以相同受限权限用户的上下文运行(即不是管理员),这是否仍然可能?我认为无论进程ACL如何,有限用户都会被拒绝进程内存写操作,但我可能错了。