gpt4 book ai didi

c++ - 检测到任何使用 OpenProcess 的程序?

转载 作者:行者123 更新时间:2023-11-28 07:33:33 26 4
gpt4 key购买 nike

为了保护我的程序,我想进行检查以检测任何使用我的 PID 执行 OpenProcess 的程序?我想防止其他程序可以轻松获取我的程序的句柄。

我有哪些选择? (WinAPI 等)一旦另一个程序使用 OpenProcess,我的程序会收到任何通知吗?

谢谢

最佳答案

What options do I have? (WinAPI and so on) Does my program receive any notification as soon as another program uses OpenProcess?

不,OpenProcess 发生在内核中,并且完全无需与正在打开的进程进行交互即可运行。由于它被调试器(用于)使用并且可能在您的进程卡住或挂起时发生,因此让您的进程“意识到”它已被打开是不切实际的。

您唯一的选择(这是一个糟糕的选择)是在 OpenProcess 系统调用上使用某种形式的拦截。请注意,OpenProcess 有一些有效用途,而且我认为许多病毒扫描程序有时会使用它 - 防止病毒扫描程序很可能进入“我已被攻击”模式。

如果您认为您可以通过一种不容易规避的方式做到这一点,那您就是在自欺欺人。将另一层 Hook 放入 OpenProcess 系统调用中,跳过您的干扰,只调用“真实的”OpenProcess 并不是很难。因此,假设您的程序打开起来真的很有趣,那么有人会找到一种方法来做到这一点...

关于c++ - 检测到任何使用 OpenProcess 的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17186928/

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