如何过滤 Windows 中已执行的应用程序?
How to filter executed apps in Windows?
我有一些应用程序的 CRC32 或 MD5 校验和列表。我将从 delphi 应用程序中禁用此应用程序的执行。因此,我需要在 DLL 中创建一个系统范围的挂钩到 CreateProcess(或 CreateProcessW?),以使这个挂钩系统范围。虽然我的应用程序是 运行,但会收到所有已执行应用程序的通知,计算它们的哈希值,与我的列表和 allow/disallow 它们的执行进行比较。有关如何制作为 CreateProcess 创建挂钩并从 Delphi 应用程序使用的 Dll 的一些提示?
谢谢,对不起我的英语不好!
你不能像你描述的那样只挂钩内核级函数,这对 OS 来说太可怕了。但是,您可以通过使用 DLL 注入每个进程来接近它,但它在您的情况下不起作用,因为在任意进程甚至有机会启动之前您需要一个挂钩。据我所知,有两种“正确”的方法(即使用文档化的 API):
使用 File System Filter Drivers。所以你需要 DDK 来开发一个驱动程序来执行这个任务。这很可能是防病毒软件用来阻止应用程序执行等的。它似乎是 Windows 版本中最兼容的。以及预期的方式。
使用AppLocker. This is more of a systems administrator tool, but with enough fiddling with its PowerShell API,您实际上可以为应用and/or脚本执行策略创建规则。在以编程方式执行此操作时,这可能是一种更混乱的方法。 Windows 版本(仅限 7 及更高版本)之间的兼容性也较差。
这个问题您可能会感兴趣:How to trap file access attempts with a filter driver (kernel) and offer dialog to allow/deny (user)?
您可以为此使用 Windows Software Restriction Policies (SRP)。
System requirements:
Software restriction policies can only be configured on and applied to computers running at least Windows Server 2003, and at least Windows XP.
您只需要创建一些带有规则的组策略对象。为此使用 Group Policy API。
一本德国杂志写了一些软件,它可以做你想要的同样的事情。这是他们的(德语)主页:
我有一些应用程序的 CRC32 或 MD5 校验和列表。我将从 delphi 应用程序中禁用此应用程序的执行。因此,我需要在 DLL 中创建一个系统范围的挂钩到 CreateProcess(或 CreateProcessW?),以使这个挂钩系统范围。虽然我的应用程序是 运行,但会收到所有已执行应用程序的通知,计算它们的哈希值,与我的列表和 allow/disallow 它们的执行进行比较。有关如何制作为 CreateProcess 创建挂钩并从 Delphi 应用程序使用的 Dll 的一些提示?
谢谢,对不起我的英语不好!
你不能像你描述的那样只挂钩内核级函数,这对 OS 来说太可怕了。但是,您可以通过使用 DLL 注入每个进程来接近它,但它在您的情况下不起作用,因为在任意进程甚至有机会启动之前您需要一个挂钩。据我所知,有两种“正确”的方法(即使用文档化的 API):
使用 File System Filter Drivers。所以你需要 DDK 来开发一个驱动程序来执行这个任务。这很可能是防病毒软件用来阻止应用程序执行等的。它似乎是 Windows 版本中最兼容的。以及预期的方式。
使用AppLocker. This is more of a systems administrator tool, but with enough fiddling with its PowerShell API,您实际上可以为应用and/or脚本执行策略创建规则。在以编程方式执行此操作时,这可能是一种更混乱的方法。 Windows 版本(仅限 7 及更高版本)之间的兼容性也较差。
这个问题您可能会感兴趣:How to trap file access attempts with a filter driver (kernel) and offer dialog to allow/deny (user)?
您可以为此使用 Windows Software Restriction Policies (SRP)。
System requirements:
Software restriction policies can only be configured on and applied to computers running at least Windows Server 2003, and at least Windows XP.
您只需要创建一些带有规则的组策略对象。为此使用 Group Policy API。
一本德国杂志写了一些软件,它可以做你想要的同样的事情。这是他们的(德语)主页: