现在接到这样的一个项目:
比如用户的移动硬盘有三个个分区,在pc上分别为E,F,G通过软件来指定E区为数据加密区,F为隐藏区,G为正常区当移动硬盘插上时,G区和普通分区一样正常工作.如果在软件中输入的密码不对,看不到F区,输入正确,可设置F区的可见性E区为加密区,所有数据都通过软件加密后存储和读取.如果在软件中输入的密码不对,不能对E进行读取和写入.
大体的需求就是这样了.
现在有如下问题:1,如何隐藏分区(不要用修改注册表的方法),谁有相关资料?
2,指定了E区为加密区,如何让系统在对e区进行读写之前,先通过软件的"过滤"?
比如用户的移动硬盘有三个个分区,在pc上分别为E,F,G通过软件来指定E区为数据加密区,F为隐藏区,G为正常区当移动硬盘插上时,G区和普通分区一样正常工作.如果在软件中输入的密码不对,看不到F区,输入正确,可设置F区的可见性E区为加密区,所有数据都通过软件加密后存储和读取.如果在软件中输入的密码不对,不能对E进行读取和写入.
大体的需求就是这样了.
现在有如下问题:1,如何隐藏分区(不要用修改注册表的方法),谁有相关资料?
2,指定了E区为加密区,如何让系统在对e区进行读写之前,先通过软件的"过滤"?
1.修改磁盘上文件系统的signature,改成非已知的文件系统,FsRec认不出来就会跳过去,此分区不会被装配,直接导致在我的电脑里看不到;当用户输入正确密码后把signature改回去,重新装配分区即可;
2.磁盘上有一个结构是用于指示分区是否隐藏(PartitionMagic就是这样弄的),具体改哪里,相关资料应该不难找。要加密分区,w2k本身就支持efs,加密文件系统,并提供了一些接口;非要自己弄的话,文件过滤驱动和磁盘过滤驱动似乎都是可行的。前者可能麻烦一点,但是可以实现文件级的加密,可以指定具体哪个文件加密哪个文件不加密等等。ifs ddk里的sfilter就是一个例子。
对于隐藏区我在研究中,假如codewarrior(会思考的草) 说的可以实现的话,可以试试!!