首页
社区
课程
招聘
[旧帖] [求助]对WPS进行透明加密的问题…… 0.00雪花
发表于: 2012-12-2 15:54 3645

[旧帖] [求助]对WPS进行透明加密的问题…… 0.00雪花

2012-12-2 15:54
3645
我写了一个minifilter的透明加密驱动,现在对记事本加密完全正常.现在相对WPS保存的文档进行加密,我先选了个最简单的对WPS保存的txt文件进行加密,但是发现加密头写不进去,而且文件长度有问题.....

我的流程是这样的,我使用的是加密标识卸载文件头.PostCreate的时候判断是否是加密文件,是的话刷缓存,然后如果是机密进程新创建的文件那么写上加密头.在PreWrite的地方对数据进行加密,写文件的偏移量加上一个加密头大小,另外在PreSetInformation处过滤,如果是机密进程那么ValidSize EndofFile AllocateSize Position等全部加上一个加密头大小,在PostQueryInformation的地方减掉一个加密头大小,大概思路是这样的.

我先尝试让wps保存一个txt文档.写一个文档保存为Alpha.txt跟踪发现wps先创建了一个Alpha~664AA.txt的缓存文件,然后把内容写进去,改名成Alpha.txt,存在两个问题..

一个是,我的文件长度总是弄不对,而且在PreClose的时候重写的加密头成功写进去了,但是之前的加密头被其他东西覆盖了.而且文件大小永远只是文件的有效大小,也就是我本来加上去的那个加密头的大小没了...

突然System进程对Alpha~664AA.txt的SetInformation操作被过滤到了.这是什么情况?为什么会有System对Alpha~664AA.txt进行操作?不应该左右操作都是由wps.exe发出的么...我的所有IO操作全是Flt系列的,应该不会重入啊.....

请各位大牛帮忙看看... 说说您的经验....这个对wps或者ms office到底怎么弄才对啊.....谢谢大家

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 1
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
请问你是怎么判断(金山)wps是否加密的呢?postcreate怎么做呢?
请教了!
2012-12-27 19:41
0
游客
登录 | 注册 方可回帖
返回
//