本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9689964
建立时间:2004年12月20日




[rootkit]天数夜读中关于驱动的加载 
原创空间,  文章收藏,  软件技术,  电脑与网络

邢红瑞 发表于 2008/10/29 22:30:11

最近看谭文兄的天数夜读发现自己对windows的驱动编程,有很多未知的东西。98年开始写vxd开始,除了 nt使用sys 驱动,9x系列使用vxd驱动和部分wdm驱动,2000使用wdm驱动,除vista的wdf不说,wdm 驱动近10年 ,相对稳定,变化不是很大。最早做PCL 724 IO 卡的驱动,基本考虑硬件的地址和寄存器,驱动考虑不多。后来做图像采集卡的驱动,基本是GDI的技术。再者卫星接收卡的驱动基本是网卡的mini port的模型。做的Rootkit的时候,使用应用层的东西比较多。结果就是对驱动架构 理解的不深,正好使用此书好好复习一下。一般高手不屑于使用工具,我还是建议大家使用以下的两个工具,一个加载驱动的,大家不用去启动服务,大家去www.rootkit.com/vault/hoglund/InstDvr.zip下载,另一个DebugView ,这个是www.sysinternals.com的工具,可以让开发者在内核模式下格式化输出的驱动代码,如何使用大家自己看。上百页的文章不如一个简单的例子,大家也可以敲入天数夜读的例子这里是另一个例子basic.c#include "ntddk.h" VOID OnUnload( IN PDRIVER_OBJECT DriverObject ){ DbgPrint("OnUnload called\n");} NTSTATUS DriverEntry( IN PDRIVER_OBJECT theDriverObject, IN PUNICODE_STRING theRegistryPath ){ DbgPrint("I loaded!");  theDriverObject->DriverUnload  = OnUnload;  return STATUS_SUCCESS;}SOURCES 文件TARGETNAME=basicTARGETPATH=OBJTARGETYPE=TDRIVERSOURCES= basic.c MAKEFILE!INCLUDE $(NTMAKEENV)\makefile.def然后输入 namke 编译。一个有趣的事情,目录中名称不能用$,否则会编译无法通过。加载驱动后,大家就可以在DebugView看到结果。


阅读全文(6653) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144769950 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号