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