gpt4 book ai didi

c++ - 当任何进程(包括恶意软件)都可以使用 VirtualProtect 时,它有什么意义?

转载 作者:太空狗 更新时间:2023-10-29 23:23:13 25 4
gpt4 key购买 nike

我知道 VirtualProtect 函数会毫无疑问地更改内存中页面的权限。当任何正在运行的进程能够使用它时,这肯定不会立即产生效果吗?

例如,有人可以轻松编写一段使用 VirtualProtectEx 函数的恶意软件,以绕过指令并造成破坏。另一方面,用户可能有正当理由允许进程修改内存(即游戏作弊)。

最佳答案

有人可以轻松编写该恶意软件,但他们如何获得目标来执行它?

VirtualProtect 允许我有选择地使内存可执行。这意味着我可以将我存储不受信任的数据的缓冲区标记为不可执行,并且我所拥有的允许不受信任的用户修改我的函数的返回地址的安全漏洞无法跳转到该缓冲区并在那里执行代码,从而停止攻击者自己执行 VirtualProtect。

它还允许我将内存设置为只读。这意味着我可以将不可信缓冲区旁边的区域标记为只读,并且缓冲区溢出无法覆盖更重要的数据。因此,我的应用程序中没有远程代码,攻击者也没有 VirtualProtect。

一旦攻击者以某种方式获得了对系统的访问权限,他就可以使用 VirtualProtect 移除相同安全级别的进程保护,但此时你已经输了。

关于c++ - 当任何进程(包括恶意软件)都可以使用 VirtualProtect 时,它有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30032200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com