60楼#
发布于:2010-05-12 15:35
楼主,你好啊,我在看你的minifilter加密的代码的时候,我的测试结果总是不正确,就是每次关闭文件都会往文件尾写上4KB的FILE_FLAG,好像是CLOSE里面写FILE_FLAG的时候是往文件尾写而不是有效的文件长度处开始写
|
|
61楼#
发布于:2010-05-12 17:09
加油!
|
|
62楼#
发布于:2010-05-12 17:56
回 50楼(shenhui) 的帖子
我查到了,用上面所提供的方法确实获取到了进程全路径,另里面说的只是对当前进程获取,如果对指定进程ID获取的话,需要替换NtCurrentProcess为指定进程的句柄。我写了个获取指定进程句柄的函数,需要的可以参考下。关于这个方法也可以在本论坛搜索《进程名的一些事》可以查到。 HANDLE GetProcessHandleByID(HANDLE ProcessID) { CLIENT_ID ci; HANDLE hProcess; NTSTATUS ststus; OBJECT_ATTRIBUTES AttrObj; AttrObj.Length = sizeof(OBJECT_ATTRIBUTES); AttrObj.RootDirectory = 0; AttrObj.Attributes = 0; AttrObj.ObjectName = 0; AttrObj.SecurityDescriptor = 0; AttrObj.SecurityQualityOfService = 0; if (0 == ProcessID) ci.UniqueProcess = PsGetCurrentProcessId(); else ci.UniqueProcess = ProcessID; ci.UniqueThread = 0; ststus = ZwOpenProcess(&hProcess, PROCESS_QUERY_INFORMATION, &AttrObj, &ci); if (NT_SUCCESS(ststus)) return hProcess; else return 0; } 用完记得用ZwClose关闭。 |
|
63楼#
发布于:2010-05-13 08:04
不要取进程全路径,可以直接取得进程全名的.
|
|
64楼#
发布于:2010-05-13 11:53
回 63楼(xxagri) 的帖子
得到了进程的全路径,我想得到进程名也很简单了。倒推到第一个斜杠\应该就可以了吧。你有什么办法可以得到进程全名吗? |
|
65楼#
发布于:2010-05-16 15:39
在NTFS下开始创建文件后加密正常,再次打开关闭后就成明文件,表现为创建保存关闭后,再打开一次,然后停止驱动再打开查看文件就成明文了,而且在文本最后出现一段乱码,还没找到原因在哪,但在FAT32下则没有这现象,
谁知道原因吗? |
|
66楼#
发布于:2010-05-18 10:15
没人发言了,顶一下
|
|
67楼#
发布于:2010-05-18 18:03
回 65楼(xxagri) 的帖子
你实验的是txt文档么?我今天实验了一下,txt文档确实有这个问题。 |
|
|
68楼#
发布于:2010-05-18 18:33
是因为没刷缓冲把
|
|
69楼#
发布于:2010-05-20 16:47
只是打开一下,并没有保存啊,如果是没涮缓存,应该全部是明文,而不是前面明文后面跟一段密文,
|
|
70楼#
发布于:2010-05-20 17:05
真的是没涮缓存,重新启动就正常了.
|
|
71楼#
发布于:2010-05-20 17:18
可是最好是在哪个回调里清缓存呢,好象在PreRead里不太好.
|
|
72楼#
发布于:2010-05-25 11:11
回 62楼(ander5115) 的帖子
问一下你测试的机器是什么啊 是笔记本吗 双核CPU XP吗 |
|
73楼#
发布于:2010-06-02 15:48
顶一个先
|
|
74楼#
发布于:2010-06-02 22:41
|
|
75楼#
发布于:2010-06-05 16:33
|
|
76楼#
发布于:2010-06-07 19:23
回 75楼(lishen_1987) 的帖子
大牛传给你的话,能分享一份给我吗?谢谢!dongn0905@126.com |
|
77楼#
发布于:2010-06-07 20:54
回 76楼(liuhui19842003) 的帖子
还没传的 我急啊 兄弟 你要是有传我份啊 |
|
78楼#
发布于:2010-06-13 11:11
为什么编译通不过啊。
winddk的头文件也加上去了。 还是报100多个错误。 请问lz在编译环境下有什么需要配置的啊? |
|
79楼#
发布于:2010-06-13 11:22
错误包括一下这些
process.c ..\engine\process.c(68) : error C2065: 'try' : undeclared identifier ..\engine\process.c(68) : error C2143: syntax error : missing ';' before '{' ..\engine\process.c(109) : error C2703: illegal __leave statement ..\engine\process.c(147) : error C2703: illegal __leave statement ..\engine\process.c(164) : error C2703: illegal __leave statement ..\engine\process.c(173) : error C2065: 'finally' : undeclared identifier ..\engine\process.c(173) : error C2143: syntax error : missing ';' before '{' ..\engine\process.c(193) : error C2143: syntax error : missing ';' before '{' ..\engine\process.c(213) : error C2143: syntax error : missing ';' before '{' ..\engine\process.c(228) : error C2143: syntax error : missing ';' before '{' |
|