首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

文本文件透明加密的有关问题

2012-03-04 
文本文件透明加密的问题1.不能捕获irp是因为explore将文件读入缓冲区,那么发起读操作的进程是notepad吗?得

文本文件透明加密的问题
1.不能捕获irp是因为explore将文件读入缓冲区,那么发起读操作的进程是notepad吗?
得到当前进程

C/C++ code
ULONG cfCurProcName(PUNICODE_STRING name){    PEPROCESS  curproc;    ULONG    i,need_len;    ANSI_STRING ansi_name;    if(s_cf_proc_name_offset == 0)        return 0;    // 获得当前进程PEB,然后移动一个偏移得到进程名所在位置。    curproc = PsGetCurrentProcess();    // 这个名字是ansi字符串,现在转化为unicode字符串。    RtlInitAnsiString(&ansi_name,((PCHAR)curproc + s_cf_proc_name_offset));    need_len = RtlAnsiStringToUnicodeSize(&ansi_name);    if(need_len > name->MaximumLength)    {        return RtlAnsiStringToUnicodeSize(&ansi_name);    }    RtlAnsiStringToUnicodeString(name,&ansi_name,FALSE);    return need_len;}

2.notepad使用内存映射技术,不能有效捕获读非分业irp,如何处理irp。
3.直接读写硬盘文件,即构造非缓存读写irp,那么缓存中的数据刷新怎么办。

[解决办法]
建议LZ查询一个相关手册,应该可以解决问题!
[解决办法]
探讨
1.不能捕获irp是因为explore将文件读入缓冲区,那么发起读操作的进程是notepad吗?
得到当前进程
C/C++ code

ULONG cfCurProcName(PUNICODE_STRING name)
{
PEPROCESS curproc;
ULONG i,need_len;
ANSI_STRING ansi_name;
if(s_……

热点排行