gpt4 book ai didi

delphi - 如何过滤 Windows 中执行的应用程序?

转载 作者:行者123 更新时间:2023-12-02 16:15:59 27 4
gpt4 key购买 nike

我有一些应用程序的 CRC32 或 MD5 校验和列表。我将从 delphi 应用程序中禁用此应用程序的执行。因此,我需要在 DLL 内创建一个到 CreateProcess(或 CreateProcessW?)的系统范围 Hook ,以使该 Hook 成为系统范围的 Hook 。当我的应用程序运行时,您会收到所有已执行应用程序的通知,计算它们的哈希值,与我的列表进行比较并允许/禁止它们的执行。关于如何制作一个为 CreateProcess 创建 Hook 并从 Delphi 应用程序使用的 Dll 的一些技巧?

感谢并为我糟糕的英语感到抱歉!

最佳答案

你不能像你描述的那样只 Hook 内核级函数,这对操作系统来说是可怕的。但是,您可以通过使用 DLL 注入(inject)每个进程来接近这一点,但这在您的情况下不起作用,因为在任意进程有机会启动之前您需要一个钩子(Hook)。据我所知,有两种“正确”的方法(即使用记录的 API):

  1. 使用File System Filter Drivers 。因此,您需要 DDK 来开发驱动程序来执行此任务。这很可能是防病毒软件用来阻止应用程序执行等的方法。它似乎是跨 Windows 版本最兼容的。也是预期的方式。

  2. 使用AppLocker 。这更像是一个系统管理员工具,但具有足够的fiddling with its PowerShell API ,您实际上可以为应用程序和/或脚本执行策略创建规则。当以编程方式执行此操作时,这可能是一种更困惑的方法。 Windows 版本之间的兼容性也较差(仅限 7 及更高版本)。

您可能对这个问题感兴趣:How to trap file access attempts with a filter driver (kernel) and offer dialog to allow/deny (user)?

关于delphi - 如何过滤 Windows 中执行的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47508957/

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