Windows 事件跟踪 (ETW) 是一种有效的内核级跟踪工具,可将内核或应用程序定义的事件记录到日志文件中。可以实时或从日志文件使用事件,并使用它们调试应用程序或确定应用程序中发生性能问题的位置。
ETW分为三个不同的组件:控制者(Controler),事件的提供者(ETW Provider)和消费者(ETW Consumer)
ETW部分功能在ntdll.dll中,可以修改内存中的etw相关函数达到禁止日志输出的效果,最常见的方法是修改EtwEventWrite函数。
即在内存中patch掉EtwEventWrite函数,让其直接return,就不会调用此函数中调用的其他etw相关函数了,也就达到了禁用事件跟踪的效果。
项目代码在
DisableETW.cpp