创建一个Windows驱动程序,为用户透明地加密和解密文件

时间:2012-07-17 06:52:14

标签: c++ windows driver

我想创建一个加密文件的应用程序(比如文本文件)

当应用程序(比如记事本)试图打开文件时,我的应用程序拦截请求并向应用程序提供解密数据。

记事本不知道发生了什么。

问题是我从哪里开始?

我已经成为一名业余爱好者程序员,已经超过10年,对c ++非常熟悉,但这将是视觉c ++的第一次。

2 个答案:

答案 0 :(得分:3)

您可以使用文件系统minifilters File system minifilter drivers实现此类加密。 有了这个,你可以拦截所有文件操作(IRP)并决定你想做什么,包括加密。

但是,当您修改文件数据时,需要处理很多棘手的情况(例如,分页IO,直接IO等)。此外,如果您透明地更改文件数据大小,则很难管理,这可能会导致很多问题。因此,请在加密/解密时尽量避免更改文件数据大小。

为了便于理解,您可以查看IFS工具包文档中的minispy和swapbuffers示例。

BTW,这不是VC ++。

答案 1 :(得分:1)

基本上你是在复制NTFS加密,所以从NTFS文件系统驱动程序开始。特别是,加密文件需要是“重新分析点”。