禁止exe读取部分内存

时间:2013-05-30 22:59:24

标签: windows memory exe

有一个程序可以扫描我机器的内存,找到我正在使用的程序。我想避免这种情况。

是否有任何解决方案禁止这个其他程序检查我的内存,所以它只会看到自己的内存? 我正在使用Windows。

2 个答案:

答案 0 :(得分:1)

我知道一个进程读取另一个进程内存的唯一方法是通过ReadProcessMemory(),这需要阅读过程使用OpenProcess()来获取正在读取的进程的PROCESS_VM_READ权限。所以,大概是成功的,这意味着阅读过程有足够的权限来访问你的应用程序的内存,例如阅读应用程序是以管理员身份运行,还是调试器。在这种情况下,除了通过SetSecurityInfo()更改自己的安全描述符(但OpenProcess()允许调试器绕过该描述符并获得完全访问权限)之外,您的应用程序可以做很多事情来阻止它,或者设置您的应用程序以比阅读应用程序使用的更高的完整性级别(仅限Vista及更高版本)运行,以便拒绝PROCESS_VM_READ权限。

有关详细信息,请参阅MSDN:

Process Security and Access Rights

答案 1 :(得分:0)

我总是使用Avast Antivirus(www.avast.com)附带的沙箱。它允许您在完全隔离的环境中运行应用程序。