33

我认为一个进程无法读取其他进程的内存。但是我很震惊地看到一个名为“ WinHex ”的应用程序具有“RAM 编辑器”并且能够访问整个内存。在所有的过程中。

这怎么可能?它甚至可以修改其他进程的内存。这不会变得恶意吗?

4

5 回答 5

29

该工具很可能使用ReadProcessMemory或某些变体,这需要 PROCESS_VM_READ 访问权限。

关于您的“恶意”评论,请记住您(或调用此 API 的进程,可能需要管理员级别的权限)已经完全控制了机器。在这一点上,安全游戏已经失败了。

于 2010-01-01T22:08:32.197 回答
4

嗯,这是操作系统授予的具有正确权限的进程可以做的事情之一。进程原则上不能访问其他进程的内存。在实践中,底层操作系统通常为特权进程提供这种机制。

于 2010-01-01T22:06:00.137 回答
2

访问其他进程的内存是小菜一碟。
您甚至可以使用Windows Driver Kit访问和修改所有内容

查看例如rootkit以了解当您不限制程序的权限时操作系统有多脆弱。

于 2010-01-01T22:22:53.600 回答
1

如果您以管理员身份运行,则可以获得读取所有内存的权限;似乎 WinHex 正在代表您执行此操作。

您是否在更受限制的帐户上尝试过此操作?

于 2010-01-01T22:04:01.423 回答
0

我认为它使用了一些 DLL 注入技术。

有关更多信息,请参阅http://en.wikipedia.org/wiki/DLL_injection

于 2010-01-01T22:05:41.420 回答