我想创建一个加密文件的应用程序(比如文本文件)
当应用程序(比如记事本)试图打开文件时,我的应用程序拦截请求并向应用程序提供解密数据。
记事本不知道发生了什么。
问题是我从哪里开始?
我已经成为一名业余爱好者程序员,已经超过10年,对c ++非常熟悉,但这将是视觉c ++的第一次。
答案 0 :(得分:3)
您可以使用文件系统minifilters File system minifilter drivers实现此类加密。 有了这个,你可以拦截所有文件操作(IRP)并决定你想做什么,包括加密。
但是,当您修改文件数据时,需要处理很多棘手的情况(例如,分页IO,直接IO等)。此外,如果您透明地更改文件数据大小,则很难管理,这可能会导致很多问题。因此,请在加密/解密时尽量避免更改文件数据大小。
为了便于理解,您可以查看IFS工具包文档中的minispy和swapbuffers示例。
BTW,这不是VC ++。答案 1 :(得分:1)
基本上你是在复制NTFS加密,所以从NTFS文件系统驱动程序开始。特别是,加密文件需要是“重新分析点”。