如何访问其他进程的内存?

时间:2010-01-01 21:57:49

标签: security winapi memory

我认为一个进程无法读取另一个进程的内存。但我很震惊地看到名为“WinHex”的应用程序具有“Ram Editor”并且能够访问整个内存。 所有流程。

怎么可能?它甚至能够修改其他进程的内存。这不是恶意的吗?

5 个答案:

答案 0 :(得分:23)

在所有情况下,该工具使用ReadProcessMemory或某些变体,这需要PROCESS_VM_READ访问。

关于您的“恶意”评论,请记住您(或调用此API的进程,可能需要管理员级权限)已经完全控制了该计算机。安全游戏此时已经丢失了。

答案 1 :(得分:2)

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

如果不限制程序的权限,请查看示例rootkits以了解 fragile 是如何操作系统的。

答案 2 :(得分:1)

嗯,这是操作系统授予的具有正确权限的进程可以执行的操作之一。原则上,进程无法访问其他进程的内存。实际上,底层操作系统通常会为特权进程提供此机制。

答案 3 :(得分:0)

如果您以管理员身份运行,则可以获得读取所有内存的权限;似乎WinHex代表你这样做了。

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

答案 4 :(得分:0)

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

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