我需要捕获应用程序的DeviceIoControl()系统调用。在linux上,strace可用于分析所有ioctl调用。windows上有没有类似的功能?
MSDN网站推荐了一个名为“进程监视器”的程序来分析可执行文件的实时活动。但是,“进程监视器”不会显示任何有关DeviceIoControl调用的信息。
发布于 2012-03-31 02:02:04
你有没有试过OSR的IRPTracker
IrpTracker允许您监控系统上的所有I/O请求数据包(I/O request packets,I),而无需使用任何筛选器驱动程序,也无需引用任何设备对象,从而使PnP系统完全不受干扰。除了能够看到IRP关闭驱动程序堆栈的路径及其最终完成状态之外,还提供了一个详细的视图,允许您查看IRP的静态部分的全部内容,以及当前和以前堆栈位置的解释视图。
发布于 2012-06-08 02:56:08
要捕获DeviceIoControl()函数,可以使用API钩子。我的公司提供了Deviare,一个具有高级接口的钩子引擎。你不需要知道很多关于钩子的知识,它可以自由地使用(只需要显示一个对话框,上面写着未注册的版本)。它包括一个带有源代码的钩子控制台。
发布于 2014-04-08 00:46:34
Dr.Memory (http://drmemory.org)工具附带一个名为drstrace的系统调用跟踪工具,它列出了目标应用程序进行的所有系统调用,包括NtDeviceIoControlFile,以及它们的参数:drstrace
https://stackoverflow.com/questions/9947933
复制相似问题