Study rust in Windows kernel mode driver
建立本仓库的目的:1.学习rust在Windows驱动编程上的应用。2.WDK里的数据结构和函数原型是以C/CPP语言提供的,尽管有win32metadata和windows-rs,wdkmetadata这些仓库,但是还不熟悉和完善。3.所以此仓库不涉及routine/api及相关sdk里的结构的使用,即使使用,也不是重点,是辅助。4.所以,这个仓库是rust的基本用法,如:字符串等。5.当然,这也为ida分析rust写的sys提供了条件。
摘自:https://users.rust-lang.org/t/win32-no-std-no-main-no-libc/30038/2
编译命令:cargo build
注意:编译出的文件是DLL,后缀改为SYS即可。
编译驱动这么简单。
13:57 2022/12/30
windbg调试截图:
ida的分析截图:注释:默认情况下ida会忽略显示一些函数,如:系统,库,编译器等的特殊函数。
联系作者:https://twitter.com/112426112Correyhttps://github.com/kouzhudong
参考信息:https://not-matthias.github.io/posts/kernel-driver-with-rust/ 需要:cargo install cargo-xbuildhttps://codentium.com/guides/windows-dev/windows-drivers-in-rust-hello-world/ 需要:cargo install --force cargo-make,且对系统依赖严重,而且还nightly
微软的WDK相关的rust:https://github.com/microsoft/win32metadatahttps://github.com/microsoft/windows-rshttps://github.com/microsoft/wdkmetadata
[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。