阅读:1684回复:9
请告诉硬盘保护卡的工作原理和编程方法,一定给分
请告诉硬盘保护卡的工作原理和编程方法,一定给分
|
|
沙发#
发布于:2002-05-19 19:05
好象不少人问过,
我说一下NT/2K下的原理吧! 在系统下一般都有一个驱动程序负责拦截读写硬盘操作!如果是带有恢复功能的话,那么这个驱动程序就把即将被修改的数据备份到自己使用的空间,一般都是在硬盘上面开辟这个空间,当系统从新启动的时候用户可以按某个特定键来选择是否还原,如果只是简单的保护,不带有还原功能的话!那么就是简单的拦截,把请求标志为完成,但是请求不往下发! |
|
板凳#
发布于:2002-05-19 19:10
DOS下就是拦截INT13了,当如果是写操作的话,并且写的是保护的地方的话就一句话,IRET就可以了!首先找到INT13的入口地址,把这个入口地址保存了!在中断向量表里替掉INT13的入口地址!添为自己的中断代码!在自己的中断代码里面判断条件就可以了!
|
|
地板#
发布于:2002-05-19 21:29
不是这样的,见过有一个叫“小哨兵”的硬盘保护卡吗?他在系统启动第一次读硬盘之前就运行了,那时根本没有加载驱动。
先给5分吧。谢谢继续回答。 |
|
地下室#
发布于:2002-05-19 23:24
很简单啊!和我说的本来就是一样的啊!在加载系统之前确实是先加载硬盘的保护程程序,但是这部分程序是为了让你选择是保持还是还原,以及一些配置,到了系统加载了卡的驱动程序的时候才进入这些卡的保护状态,你可以试一下在注册表里面把他的服务项删除或者改名看看,或者是在设备用法里面把他禁止掉,重起之后就可以破掉他的保护了!
|
|
5楼#
发布于:2002-05-20 09:44
有相关代码吗。谢谢
先给分。 |
|
6楼#
发布于:2002-05-20 09:47
怎么给分的按钮不见了。
|
|
7楼#
发布于:2002-05-20 13:26
相关代码肯定是没有的!你可以去看看\\src\\storage\\filters\\diskperf这个例子,这个就是基于扇区的驱动程序,改动一下就可以拦截了
|
|
8楼#
发布于:2002-05-20 13:28
怎么给分的按钮不见了。 一个帖子只能给一次分 |
|
9楼#
发布于:2002-05-20 14:01
知道了
|
|