为什么有像WriteProcessMemory这样的函数可用?

时间:2010-12-26 21:54:43

标签: windows winapi process

标题几乎总结了它。我刚刚发现了这个功能,很好,它让我感到惊讶,因为它立即产生了可能的安全后果。

为什么会有这样的功能?我知道,对于调试这样的事情或多或少是必要的,但是允许它用于所有进程似乎是一个很大的安全问题。

我错过了什么吗?

2 个答案:

答案 0 :(得分:6)

如果编写调试器需要函数,那么该函数必须存在,就这么简单。必须以足够的权限打开hProcess参数才能写入进程,恶意软件很难做到这一点。

答案 1 :(得分:3)

如果您阅读WriteProcessMemory的MSDN文档,则会看到

hProcess [in]
A handle to the process memory to be modified. 
handle must have PROCESS_VM_WRITE and PROCESS_VM_OPERATION access to the process.

因此,您必须有权访问要修改的流程。因此,用户不能使用此功能混淆彼此的进程。