【发布时间】:2015-04-02 13:22:08
【问题描述】:
我的目标是确定何时执行命令,准确地确定它读取和写入的文件。在 Linux 上,我可以使用 ptrace (通过工作,类似于 strace 所做的)来完成此操作,在 FreeBSD 和 MacOS 上,我可以使用 ktrace 系统命令来完成此操作。您将在 Windows 上使用什么来获取此信息?
到目前为止,我的研究表明我要么使用调试器接口(在许多方面类似于 ptrace),要么可能使用ETW。第三种选择是插入一个 DLL 来拦截系统调用。不幸的是,我没有经验来猜测每种方法的挑战性。
有什么建议吗?
【问题讨论】:
-
使用 GUI 工具可能就足够了吗?试试 Windows Internals (filemon)。
-
如何在windows 7或进程资源管理器中使用资源监视器
-
不,GUI 工具是不够的,我必须能够从我的程序中执行此操作,该程序是用 C 编写的(但如果需要也可以使用 C++)。
-
这是一个非常糟糕的功能规范。听起来它除了审计之外不需要任何东西。使用组策略编辑器将其打开并阅读事件日志。