春节后的第一个东东,DirectDisk
2007-03-02 11:26
176 查看
DirectDisk提供了一组磁盘读写接口,通过调用这组接口,可以绕过WINDOWS内核的文件系统驱动和磁盘驱动,读写到真实磁盘上的扇区内容。
开发DirectDisk的目的是为了和我的FileLib库配合起来,这样通过FileLib和DirectDisk,就可以完全取代WINDOWS的文件系统驱动和磁盘驱动的功能,使你不经过这些驱动也可以读写物理磁盘上的文件,完成创建目录和删除文件等操作,此外DirectDisk也可以为我的VvolDisk虚拟磁盘提供内核层的磁盘读写功能,如果用户是拿一块物理磁盘区域做为虚拟磁盘,那么VvolDisk就可以不再走上层的文件系统和磁盘驱动来读写磁盘了,至少这样速度上可以提升很多。:)(VvolDisk是我的另一个产品,提供本地和网络虚拟磁盘功能,是为我的网络存储解决方案而开发的,我会在另一篇文章中说明)。
正常的文件读写简要流程:
1.用户调用Win32 API ReadFile,WriteFile进行文件读写(如 ReadFile("c:/txt"...))
2.读写请求被下发到内核中的文件系统驱动(fastfat.sys,ntfs.sys等),文件系统驱动进行文件系统解析,然后向磁盘驱动发送磁盘读写请求
3.磁盘驱动(Disk.sys)从真实物理设备中读入或者写入扇区数据
通过FileLib+DirectDisk文件读写简要流程:
1.用户调用FileLib提供的接口ReadFile,WriteFile进行文件读写(如 ReadFile("c:/txt"...))
2.请求被发送到FileLib中,FileLib负责进行文件系统解析,然后向内核中的DirectDisk发送磁盘读写请求
3.DirectDisk从真实物理设备中读入或者写入扇区数据
(通过FileLib+DirectDisk读写文件是保证不会经过fastfat.sys,ntfs.sys,disk.sys这类驱动)
正常的磁盘读写简要流程:
1.用户调用Win32 API ReadFile,WriteFile进行磁盘读写(如 ReadFile("////.//PhysicalDrive0"...))
2.读写请求被下发到内核中的文件系统驱动(fastfat.sys,ntfs.sys等),文件系统驱动转发这些请求到磁盘驱动中处理
3.磁盘驱动(Disk.sys)从真实物理设备中读入或者写入扇区数据
通过DirectDisk磁盘读写简要流程:
1.用户调用DirectDisk提供的接口ReadDisk进行磁盘读写(如 ReadDisk(0),0对应PhysicalDrive0)
2.读写请求被下发到内核中的DirectDisk驱动,DirectDisk负责从真实物理设备中读入或者写入扇区数据
(通过DirectDisk读写文件是保证不会经过fastfat.sys,ntfs.sys,disk.sys这类驱动)
本来我是打算将DirectDisk免费公开给所有开发人员使用的,不过经过好友的劝说,我暂时放弃了这样的想法。因为FileLib+DirectDisk组合起来的威力太强大了。试想一下,如果某个病毒通过该接口进行感染或者破坏,所有基于文件过滤和磁盘过滤的病毒监控都是没有办法监控到的。FileLib+DirectDisk,几乎可以破解目前任何文件过滤保护和磁盘过滤保护类的产品,会对世面上所有的还原卡,还原产品,目录加密,磁盘加密类产品造成危害。:(
此外还有很多群里的朋友问题我DirectDisk的原理,不过现在暂时还不能公开,总之DirectDisk决不是通过内核直接磁盘I/O的方式读写磁盘的,那样的东东我几年前写过,通用性太差了,会和WINDOWS本身的磁盘驱动产生冲突,而且不能兼容其它的磁盘模式(比如AHCI模式),DirectDisk兼容性很强,不会和WINDOWS的磁盘读写冲突,而且兼容所有模式。
开发DirectDisk的目的是为了和我的FileLib库配合起来,这样通过FileLib和DirectDisk,就可以完全取代WINDOWS的文件系统驱动和磁盘驱动的功能,使你不经过这些驱动也可以读写物理磁盘上的文件,完成创建目录和删除文件等操作,此外DirectDisk也可以为我的VvolDisk虚拟磁盘提供内核层的磁盘读写功能,如果用户是拿一块物理磁盘区域做为虚拟磁盘,那么VvolDisk就可以不再走上层的文件系统和磁盘驱动来读写磁盘了,至少这样速度上可以提升很多。:)(VvolDisk是我的另一个产品,提供本地和网络虚拟磁盘功能,是为我的网络存储解决方案而开发的,我会在另一篇文章中说明)。
正常的文件读写简要流程:
1.用户调用Win32 API ReadFile,WriteFile进行文件读写(如 ReadFile("c:/txt"...))
2.读写请求被下发到内核中的文件系统驱动(fastfat.sys,ntfs.sys等),文件系统驱动进行文件系统解析,然后向磁盘驱动发送磁盘读写请求
3.磁盘驱动(Disk.sys)从真实物理设备中读入或者写入扇区数据
通过FileLib+DirectDisk文件读写简要流程:
1.用户调用FileLib提供的接口ReadFile,WriteFile进行文件读写(如 ReadFile("c:/txt"...))
2.请求被发送到FileLib中,FileLib负责进行文件系统解析,然后向内核中的DirectDisk发送磁盘读写请求
3.DirectDisk从真实物理设备中读入或者写入扇区数据
(通过FileLib+DirectDisk读写文件是保证不会经过fastfat.sys,ntfs.sys,disk.sys这类驱动)
正常的磁盘读写简要流程:
1.用户调用Win32 API ReadFile,WriteFile进行磁盘读写(如 ReadFile("////.//PhysicalDrive0"...))
2.读写请求被下发到内核中的文件系统驱动(fastfat.sys,ntfs.sys等),文件系统驱动转发这些请求到磁盘驱动中处理
3.磁盘驱动(Disk.sys)从真实物理设备中读入或者写入扇区数据
通过DirectDisk磁盘读写简要流程:
1.用户调用DirectDisk提供的接口ReadDisk进行磁盘读写(如 ReadDisk(0),0对应PhysicalDrive0)
2.读写请求被下发到内核中的DirectDisk驱动,DirectDisk负责从真实物理设备中读入或者写入扇区数据
(通过DirectDisk读写文件是保证不会经过fastfat.sys,ntfs.sys,disk.sys这类驱动)
本来我是打算将DirectDisk免费公开给所有开发人员使用的,不过经过好友的劝说,我暂时放弃了这样的想法。因为FileLib+DirectDisk组合起来的威力太强大了。试想一下,如果某个病毒通过该接口进行感染或者破坏,所有基于文件过滤和磁盘过滤的病毒监控都是没有办法监控到的。FileLib+DirectDisk,几乎可以破解目前任何文件过滤保护和磁盘过滤保护类的产品,会对世面上所有的还原卡,还原产品,目录加密,磁盘加密类产品造成危害。:(
此外还有很多群里的朋友问题我DirectDisk的原理,不过现在暂时还不能公开,总之DirectDisk决不是通过内核直接磁盘I/O的方式读写磁盘的,那样的东东我几年前写过,通用性太差了,会和WINDOWS本身的磁盘驱动产生冲突,而且不能兼容其它的磁盘模式(比如AHCI模式),DirectDisk兼容性很强,不会和WINDOWS的磁盘读写冲突,而且兼容所有模式。
相关文章推荐
- Android LBS App:春节在家无聊昨天忙活了一天,终于无师自学,开发了俺的第一个Android 程序
- 我的“第一个”春节
- 不会再有的心动(为了怀念我真正从心里喜欢的第一个女孩,此东东仅代表我那时的心态和态度~~~~!!!)
- 身在域外的第一个春节
- Android LBS App:春节在家无聊昨天忙活了一天,终于无师自学,开发了俺的第一个Android 程序
- 春节后,上班的第一个星期六
- 在北京过第一个春节
- 第一个java的小东东
- 在北京过第一个春节
- 毕业后第一个春节
- 用PyQt4做的第一个小东东
- 开始学习JavaScript的第一个东东
- 第一个DWR程序:Hello World
- 学习ASP.NET MVC(一)——我的第一个ASP.NET MVC应用程序
- 2017.春节.深圳
- 终于做出第一个开除人的决定了
- 第一个Java Google engine程序
- 【小云工作室】我的第一个开源项目
- 使用Flex Builder3创建第一个AIR程序
- WINCE入门的第一个驱动程序