Windows 中是否有任何日志文件可以跟踪所有 EXE 调用,或者是否可以启用这样的日志?它是否包含这些调用的参数/参数?
谢谢
答案1
这可以使用审计进程创建策略来完成,如果您在域环境中,则在组策略中启用该策略,或者在单个工作站上的本地策略中启用该策略。此设置位于计算机配置 > 策略 > Windows 设置 > 安全设置 > 高级审核配置 > 详细跟踪
每次启动一个进程时,Windows 事件日志中都会记录一个 ID 为 4688 的事件。
如果您启用第二个名为“在进程创建事件中包含命令行”的策略设置,则 Windows 和 Windows 服务器的较新版本(8.1、2012 R2 及以上版本)也将记录命令行参数。
答案2
你应该看看 Sysinternals 工具系统。
系统监视器 (Sysmon) 是一种 Windows 系统服务和设备驱动程序,一旦安装在系统上,系统重启后它仍会驻留,以监视系统活动并将其记录到 Windows 事件日志中。它提供有关进程创建、网络连接和文件创建时间更改的详细信息。
Sysmon 包括以下功能:
Logs process creation with full command line for both current and parent processes.
答案3
我写了一个 C++ 程序来做这件事。这是一个简单的程序。该程序的伪代码:
start foreach arg { write write arg} 调用原始程序。 end 将原始程序移至其他位置(executable.original.exe)。 将您的程序更改为原始程序的名称(executable.exe)
坏蛋兵。
我可能仍然有代码 - 但自己做可能同样容易。
PS-csharp 不适用于此。