#etw #events #tracing #windows-event #winapi #api-bindings #krabsetw

ferrisetw

基本上是一个用Rust编写的KrabsETW盗版

4个版本 (稳定)

1.2.0 2024年6月27日
1.1.0 2023年2月21日
1.0.0 2023年1月12日
0.1.1 2021年4月26日
0.1.0 2021年4月26日

#43 in Windows API

每月47次 下载
用于 2 个crate(通过 precord-core

MIT/Apache

225KB
4K SLoC

FerrisETW 🦀

该crate提供了对ETW消费者API的安全Rust抽象。

它最初是一个用Rust编写的KrabsETW盗版(因此得名 Ferris 🦀)。所有荣誉都归功于开发KrabsEtw的微软团队,没有他们,这个项目可能不会存在。
从1.0版本开始,该crate的API和内部架构与krabsetw略有不同,使其更符合Rust风格。

示例

您可以在doc.rs上的crate文档中找到示例,以及示例测试文件夹。

如果您熟悉KrabsETW,您会发现它们非常相似。如果您以前从未使用过KrabsETW,示例非常直接,应该很容易理解。如果您有任何问题,请随时提问。

文档

该crate的文档位于docs.rs

备注

  • 该项目仍在进行中。请随意报告错误、问题、功能请求等。当然,我们欢迎贡献!

  • 可用于解析的类型是实现了Parser的TryParse特质的类型,基本类型已经实现。在不久的将来,我将添加更多类型:

  • 我尽量使依赖项保持最小化,同时您也会看到我选择使用新的 windows-rs,而不是使用 winapi。这主要是个人的决定,因为我相信Windows绑定将成为未来与Windows API交互的“标准”。

致谢

  • 首先,感谢MS开发KrabsETW的团队!
  • Shaddy,基本上,是他教会了我所有关于Rust的知识 😃
  • n4r1b,因为他创建了这个优秀的crate
  • daladim,因为他添加了更多功能

依赖项

~131MB
~2M SLoC