驱动开发
文章平均质量分 74
stretch
这个作者很懒,什么都没留下…
展开
-
驱动开发资源列表
资源下载:XP_DDK 下载地址 ftp://162.105.80.18/develop/DDK_XP.ISOWin2003 DDK 下载地址 ftp://162.105.80.18/develop/WinDDK2003/国外网站:http://www.ndis.comhttp://www.wd-3.com/http://www.phrack.org/http://ho转载 2006-10-20 08:48:00 · 785 阅读 · 0 评论 -
《Windows NT File System Internals》学习笔记之Windows NT系统启动顺序
操作系统的启动顺序因为系统、处理器、操作系统版本和结构的不同而不同。NT系列的操作系统启动顺序如下:1.电脑的系统启动模块调用NT系统启动程序,OS Loader组件传递一个BootRecord结构体给该程序。NT系统启动程序执行全局初始化工作,然后决定操作系统启动分区,初始化工作还包括初始化启动过程中使用到的内存描述符。NT系统启动程序也调用一个堆初始化程序,该程序创建内存描述符,这转载 2006-11-01 10:29:00 · 1372 阅读 · 0 评论 -
驱动SYS开发总结
1.驱动简介 1.1.驱动是什么计算机的外部设备需要和计算机进行数据交换,生产外部设备的厂家如何使计算机和自己的设备交换数据呢,就是通过驱动程序,从设备中读入到计算机中,早期的Win3.1,Win9x设备驱动是vxd,Win NT是kdm, Win2k 统一发展成wdm模式。 1.2.sys文件 sys文件是驱动程序的可执行代码,其扩展名为.sys,驱动程序安装后保存在windows/system转载 2006-11-01 11:01:00 · 1820 阅读 · 0 评论 -
《Windows NT FileSystem Internals》学习笔记之IO_STACK_LOCATION的结构
NTDDK定义的Stack Location结构体由以下几个字段组成:MajorFunction:该字段定义了一个函数功能集,内核模式驱动可以实现其中的每一个函数。每一个函数由一个函数代码对应。当内核模式驱动接收到一个IRP时,驱动首先检查当前StackLocation中的MajorFunction字段,得出驱动将要执行的功能,可能的MajorFunction功能代码如下:转载 2006-11-01 10:26:00 · 1308 阅读 · 0 评论 -
驱动程序简单入门
我们学习程序设计,都是从“Hello World”开始的,驱动程序也不例外,今天我就写一个驱动版的“Hello World”来热热身,目的希望大家能对驱动程序的基本框架有所了解。 驱动程序分为2类,一个是Kernel模式驱动,另一个是Windows模式驱动,2种模式本质是相同,但细节不同,本文介绍的是内核模式驱动和驱动程序的安装、使用。 驱动程序同普通的EXE,DLL一样,都属于PE文件,而且都有转载 2007-06-17 15:53:00 · 1458 阅读 · 1 评论 -
2007透明加密一览(1)-企业为什么青睐透明加密?
企业级文档加密系统是数据加密、操作系统和数据库等多项技术综合应用的交叉成果。它有很多种称呼:文档加密系统、透明加密系统、图档卫士、电子数据防泄漏系统、加密王……因为概念清晰、效果明显,吸引了大量重视知识产权保护企业的目光。但与此同时,有人说它是老板部署的有益的病毒,也有人认为它只是小儿科的玩具,还有人说它只是掩耳盗铃的摆设,2005年市场上此类产品不到十家,在2006年短短一年的时间里,市场上转载 2007-06-17 23:32:00 · 2101 阅读 · 1 评论 -
2007透明加密一览(4)-撰写中
七、 透明加密2007市场情况简介1. 透明加密开发商分类目前市场上的透明加密产品开发商分为四类:第一类公司自行研发和推广透明加密产品,我称之为透明加密原创产品;此类公司一般起步较早,拥有相当的平台开发和市场推广能力,所以能够一步一步来完善并推出商品化产品;第二类公司在商品化的透明加密核心组件基础上开发自己的透明加密产品,我们称之为透明加密二次开发产品;此类公司在转载 2007-06-17 23:42:00 · 2424 阅读 · 2 评论 -
Free Encryption / Cryptographic Software
Free Encryption / Cryptographic Software, Free On the Fly Encryption, Free Disk Encryption Tools, Steganography, Free Public Key Encryption SoftwareThis page lists free encryption / cryptographic转载 2007-06-30 12:08:00 · 1631 阅读 · 0 评论 -
关于驱动开发的几个必读BLOG
关于驱动开发的几个必读BLOG对于从事Windows驱动开发的朋友,或者是对Windows内核感兴趣的朋友,以下几个BLOG值得经常看看!1,Kernel Mustard by Steve Dispensa link: http://kernelmustard.com/category/ddk/他以前的BLOG地址为:http://msmvps.com/blogs/kernelmust转载 2007-06-30 12:43:00 · 1377 阅读 · 0 评论 -
写一个最简单的WDM驱动
虽然能在网上找到很多 所谓Hello World的WDM例子程序,但都含有太多功能性的东西,反而让初学者无所适从,我就有这个体会,现在把我自己的第一个Hello World程序放在这里。#include "ntifs.h"//驱动卸载例程,该例程也可以不定义。若不定义该例程驱动可以正常运行,但驱动不能动态卸载,只有重启机器才//能卸载驱动VOID Unload(IN PDRIVER_OBJECT转载 2007-06-30 19:20:00 · 1236 阅读 · 0 评论 -
2007透明加密一览(2) -透明加密原理和产品分类和关键评价指标
三、 透明加密产品原理和分类1. 透明加密原理目前国内市场上的企业级文档加密软件客户端仅支持微软的windows操作系统,应用范围以局域网应用为主。微软Windows采用事件驱动的机制,通过消息的传递来实现对应用的管理。其中监控windows打开(读)、保存(写)可以在windows操作文件的多个层面上进行。例如:32位CPU定义了4种(0~3)特权级别,或称环(转载 2007-06-17 23:33:00 · 2736 阅读 · 1 评论 -
2007透明加密一览(3)-选择透明加密产品的方法以及市场准入条件
五、 透明加密产品的选择方法透明加密产品在实际应用中,由于控制对象和控制内容复杂,市场上同类产品数量众多,宣传内容大同小异,如何才能找到适合自己需要的加密软件?1. 通用选择方法:在功能探讨前,企业首先需要做的是查看供应商背景,包括:到供应商网站上了解其背景、产品特点;了解供应商典型用户中是否有与自己类似的行业、规模、应用需求;考察供应商客户的应用情况,了解转载 2007-06-17 23:35:00 · 2952 阅读 · 0 评论 -
Windows Streams - An Introduction to File System Streams
Windows Streams - An Introduction to File System Streams The NT Insider, Vol 13, Issue 2, March - April 2006 | Published: 17-Apr-06| Modified: 17-Apr-06 For those new to the file systems space, t转载 2008-02-12 02:08:00 · 813 阅读 · 0 评论 -
DMK Architecture Diagram
tony mason大牛写的一个库,估计是OSR 以前版本的升级。描述:DMK Architecture Diagram图片: screen.width-461) window.open(http://bbs.driverdevelop.com/attachment/39_168863_d5f9a87c5462eb2.gif);" src="http://bbs.driverdevelop转载 2008-02-12 02:41:00 · 1375 阅读 · 0 评论 -
文件加密标识 -OSR经典对白
文件加密标识 -OSR经典对白<!-- if (!document.phpAds_used) document.phpAds_used = ,; phpAds_random = new String (Math.random()); phpAds_random = phpAds_random.substring(2,11); document.wri转载 2008-02-13 11:08:00 · 1113 阅读 · 0 评论 -
城里城外看SSDT
城里城外看SSDT 2007年7月5日作于京师海淀 2006年,中国转载 2008-02-13 10:33:00 · 830 阅读 · 0 评论 -
《Windows NT FileSystem Internals》学习笔记之Complete IRP
原来以为完成IRP的处理仅仅是简单的调用一下IoCompleteRequest()函数而已,内部的代码应该很简单。阅读了Win2K源代码才发现,事情并不简单啊,呵呵,再一次发现Win2K源代码的价值了。驱动必须调用IoCompleteRequest()通知I/O管理器相应的IRP已经处理完毕。IoCompleteRequest函数的处理过程如下(对应着Win2K源代码阅读,在ioS转载 2006-11-01 10:28:00 · 2477 阅读 · 1 评论 -
一个minirdr的写作过程
发信人: mtwyaya (游泳的鱼), 信区: DriverProgram标 题: 一个minirdr的写作过程发信站: 武汉白云黄鹤站 (2004年07月21日11:54:50 星期三), 站内信件两个月前,组长安排我和师兄tanky写一个网络文件系统,当时我对文件系统一无所知,只是有过几个其他驱动的编写经验.到现在,我的第一个试验性质的网络文件系统已经基本成型了,当然还有一些bug没有做好转载 2006-10-31 16:26:00 · 1471 阅读 · 0 评论 -
《Windows NT FileSystem Internals》学习笔记之IO_STACK_LOCATION的学习
学而时习之,不亦悦乎?这次记下的时IO_STACK_LOACTION的东东,以前就知道用,一直很迷糊,现在终于搞通了,爽!还发现一个秘密,微软的Win2K源代码真是好东西啊,可惜放在我硬盘上的宝贝被浪费这么长时间。IO_STACK_LOCATION和它的名字一样,是一个类似于栈的结构,属于先进后出的结构,看下面的例子 : 如上面的图所示,I/O管理器想文件系统驱动发送一个读转载 2006-11-01 10:24:00 · 1580 阅读 · 0 评论 -
文件系统识别器 -----翻译自IFS KIT Documentation
文件系统识别器文件系统识别器是一个标准的NT内核模式驱动程序。它只实现一项功能:检查物理介质设备,如果它能够识别存储介质的格式便`加载相应的文件系统驱动程序。你可能要问:为什么不把所有的文件系统一起加载呢?因为系统几乎从不需要加载所有文件系统驱动程序,用一个小驱动可以节约数百K系统内存。实际上,所有标准的NT物理介质文件系统都利用文件系统识别器。举个例子来说,如果CD-ROM没有被访问,那么C转载 2006-10-20 08:50:00 · 888 阅读 · 0 评论 -
WDM驱动程序设计之环境构造篇
要想开发WDM驱动程序,我们必须首先安装DDK(设备驱动程序开发包),WDM开发环境的设置相对比较麻烦,大多数开发人员偏爱用Visual Studio进行开发,而VC++有一些非常有用的工具。 ■安装DDK 下面笔者将详细介绍在Windows 98、Windows NT和Windows 95下DDK的安装方法。 1.Windows 98 DDK的安装 这一部分描述安装Windows转载 2006-10-20 10:26:00 · 890 阅读 · 0 评论 -
WDM驱动程序设计
WDM驱动程序设计 一.WDM简介 微软不断推出新的操作系统,现在Windows98和Windows2000已经成了主流,原先用来实现驱动程序的VxD技术随着Win95的淡出也慢慢地将退出历史舞台,在Windows98和Windows2000中设备驱动程序将根据Windows驱动程序模型(WDM)来设计。WDM通过提供一种灵活的方式来简化驱动程序的开发,在实现对新硬件支持的基础上减少并降低转载 2006-10-20 10:33:00 · 1926 阅读 · 1 评论 -
Sfilter在Win2000下动态加载的实现
Sfilter是MS提供的一个例子文件系统过滤驱动程序。在IFS Kit中可以找到源代码。在系统安全等相关方面等用得很多了,例如 文件的透明加密解密,只允许特定的进程访问特定的文件。Sfilter可以在XP,20003中动态加载,在2000下确不可以。通过如下的代码可以实现在2000下的动态加载。 有两种方法可以实现。第一种是首先获得文件系统驱动DRIVER_OBJECT的指针转载 2006-10-20 08:51:00 · 973 阅读 · 0 评论 -
sfilter动态加解密吐血总结
晕了好几天,总算把Ifs的动态加解密给闹明白了。为了后来者不再晕,总结如下:1.加密在SfWrite(IRP_MJ_WRITE)中,而不是完成例程,解密在SfRead(IRP_MJ_READ)中,而不是完成例程,3.只要处理IRP_NOCACHE|IRP_PAGING_IO|IRP_SYNCHRONOUS_PAGING_IO2.加密简单过程:a.得到Windows传下来的Buffer Addres转载 2006-10-20 09:23:00 · 795 阅读 · 0 评论 -
WDM驱动程序设计之基础知识篇
WDM(Win32 Driver Model),即Win32驱动程序模型,是Microsoft力推的全新驱动程序模式,旨在通过提供一种灵活的方式来简化驱动程序的开发,在实现对新硬件支持的基础上减少并降低所必须开发的驱动程序的数量和复杂性。 除了通用的平台服务和扩展外,WDM还实现了一个模块化的、分层次类型的微型驱动程序结构(见图1)。类型驱动程序实现了支持通用总线、协议或设备类所需的功能性接口转载 2006-10-20 10:25:00 · 880 阅读 · 0 评论 -
WDM驱动程序设计之设计开发篇
通过安装DDK和相应的开发软件,我们构造好了WDM驱动程序的开发环境。接着,我们就要深入进行设计与开发工作了。 ■WDM 驱动程序的运作流程 WDM本身的PNP管理器被抽象地提升到了ROOT的地位。PNP管理器负责所有的总线驱动程序的加载。总线驱动程序则负责遍历所有位于总线上的设备,并且为每个设备创建相应的设备对象。当PNP管理器发现一个设备对象,就查找该对象对应的Driver。并调用该D转载 2006-10-20 10:27:00 · 790 阅读 · 0 评论 -
sfilter 中如何判断当前的IRP是否来自网络?
再仍一块砖头,sfilter 中如何判断当前的IRP是否来自网络?:如何从IrpStackLocation中判断来自网络的文件访问?//---------------------------------------------------NTSTATUS status;PACCESS_TOKEN pToken = NULL;PTOKEN_SOURCE pTokenSrc = NULL ;PSECU转载 2006-10-20 09:24:00 · 779 阅读 · 0 评论 -
驱动的一点体会
一.驱动程序介绍 Windows 环境下,应用程序访问硬件设备需要通过设备驱动程序。 在Windows 95/98下,驱动程序通常是一个Vxd文件;而在Windows NT下, 驱动程序则是一个Sys文件。虽然这两个操作系统都是出自微软门下, 但其使用的驱动程序结构是完全不同的,因此当一个硬件产品需要在以 上两种操作系统下都能运行时,就需要分别编写其特定环境下的驱驱 动程序。驱动程序的编写是一件相转载 2006-10-20 10:32:00 · 3016 阅读 · 1 评论 -
wdm的参考文章
wdm的参考文章:codeproject上的驱动开发系列介绍:1.驱动程序简介2.实现IOCTL3.驱动上下文4.设备堆栈5.传输设备接口(TDI)6.显示驱动还有一个很详细的demo,适用与VC2003的ddk向导,以及一个WDF框架简介,所有介绍都有源码可以下载.微软WHDC白皮书:1.调度,线程上下文和IRQL2.锁,死锁以及同步3.IRP的处理4.内核模式驱动框架(KMDF)的架构转载 2006-10-20 09:17:00 · 774 阅读 · 0 评论 -
WDM驱动程序设计之编译安装篇
设计开发好自己的WDM驱动程序后,为了运行该驱动程序,我们必须编译和安装它们。 编译设备驱动程序的方法 安装DDK后,在DDK程序组下有Check和Free两个编译环境,Check环境用于编译带调试信息的驱动程序,Free则是编译正式发布版本的环境。通常情况下设备驱动程序的编译采用命令行的方式。通过一定的设置可以在VC ++的集成环境下编译。 一般来说,成功编译一个最基本的设备驱动程序需转载 2006-10-20 10:14:00 · 748 阅读 · 0 评论 -
驱动知识
目前,由于需要支持新的业务和新的PC外部设备类型对驱动程序开发造成了新的挑战。新型总线增加了设备的数量和对设备驱动程序的需求。设备上各种功能的不断增加使驱动程序的开发变得越来越复杂。同时,快速反应的交互式应用程序要求将软件和硬件紧密的结合在一起。1997年,在用于Windows 95和Windows NT的统一的Win32驱动程序模型(WDM)有了进一步的发展,将这些因素全部考虑在内。WDM允许使转载 2006-10-20 10:30:00 · 1478 阅读 · 0 评论 -
驱动程序的专业术语
WDM Win32 Driver Model(驱动程序模型)FDO functional device object(功能设备对象)IRP IO Request Pac转载 2006-10-20 10:37:00 · 1021 阅读 · 0 评论 -
《Windows NT FileSystem Internals》学习笔记之DRIVER_OBJECT对象结构
驱动编程这么长时间了,还没有 彻底理解这个玩意,呵呵惭愧。看了《Windows NT FileSystem Internals》把每一个细节搞清楚了,这里记下来,防止以后忘掉(以后还不知道能不能开发驱动呢)typedef struct _DRIVER_OBJECT{ CSHORT Type; CSHORT Size;转载 2006-11-01 10:23:00 · 1186 阅读 · 0 评论 -
《Windows NT File System Internals》学习笔记之物理内存管理简介
页帧和页帧数据库NT VMM必须管理系统内可用的物理内存。VMM使用的方法和现代商用操作系统中使用的方法类似。 NT VMM将可用的RAM划分为固定尺寸的页帧。页帧的大小可以从4K~64K。在Intel X86结构上,页尺寸为4K。每一个页桢都在页帧数据库(PFN Database)中有相应的入口项。页帧数据库在非分页内存池中,它是一个页帧入口数组。PFN数据库为每一个页帧维护以下信息转载 2006-11-01 10:31:00 · 2017 阅读 · 0 评论 -
驱动学习站点
对于从事Windows驱动开发的朋友,或者是对Windows内核感兴趣的朋友,以下几个BLOG值得经常看看!1,Kernel Mustard by Steve Dispensa link: http://kernelmustard.com/category/ddk/他以前的BLOG地址为:http://msmvps.com/blogs/kernelmustard/default.a转载 2008-12-03 17:36:00 · 945 阅读 · 0 评论