阅读:2389回复:11
XFILTER的代码怎么是这样的?
今天找到一XFILTER2.0的代码
发现其中一段代码 INT GetProcessFileName(char* buf, DWORD nSize, BOOL IsOnlyName) { PCWSTR pFullName = NULL; int i, j; if(buf == 0 || nSize == 0) return PS_INVALID_PARAMETER; if((!IsOnlyName && nSize < MAX_PATH) || nSize < 16) return PS_BUFFER_SO_SMALL; // not get full path name { char* pName = PsGetProcessName(); if(pName == NULL) strcpy(buf, "SYSTEM"); else strcpy(buf, pName); return PS_SYSTEM_PROCESS; } if(IsOnlyName) { char* pName = PsGetProcessName(); if(pName == NULL) strcpy(buf, "SYSTEM"); else strcpy(buf, pName); return PS_SYSTEM_PROCESS; } pFullName = PsGetModuleFileNameW(); if(pFullName == NULL) { char* pName = PsGetProcessName(); if(pName == NULL) strcpy(buf, "SYSTEM"); else strcpy(buf, pName); return PS_SYSTEM_PROCESS; } else { UNICODE_STRING usFileName; ANSI_STRING asFileName; RtlInitUnicodeString(&usFileName, pFullName); asFileName.Length = 0; asFileName.MaximumLength = MAX_PATH; asFileName.Buffer = buf; RtlUnicodeStringToAnsiString(&asFileName, &usFileName, FALSE); } return PS_USER_PROCESS; } 这段代码不是成了不管什么情况都返回PS_SYSTEM_PROCESS;吗?后面的代码完全没有必要啊,因为根本执行不到,,, 作者怎么会犯这种错误? [编辑 - 2/20/04 by november] |
|
沙发#
发布于:2004-02-21 11:52
兄弟,能不能给我一份2.0的代码啊,我的邮箱是bobo_lei@163.com
我想学习学习啊 |
|
板凳#
发布于:2004-02-22 18:09
大哥,我也想学习学习。
zx-xaut@sohu.com 给一份看看吧。先谢了。 |
|
地板#
发布于:2004-02-23 11:20
大哥,我也想学习学习。
mryh@sina.com 给一份看看吧。先谢了。 |
|
地下室#
发布于:2004-02-23 11:23
大哥,我也想学习学习。
anna_liu123@yahoo.com 给一份看看吧。先谢了。 |
|
5楼#
发布于:2004-02-24 21:32
可以加我一个吧,xflit 2.0 source code , I love you. Thanks very much !
peta@21cn.com |
|
6楼#
发布于:2004-03-02 19:39
嘿嘿,我的E-MAIL是:cisc@263.net
|
|
|
7楼#
发布于:2004-03-06 19:02
大侠你好,我也想学学,能给我发一份它的源代码吗?
谢谢 !!,我的email: sam801025@163.com |
|
8楼#
发布于:2004-03-06 19:48
费尔获得process的方法是错误的,因为这段代码常常在dpc上运行,
dpc是不确定process context的。通常应该在passive level上获得。 或者从tdi层获得。 正确的方法是,在tdi获得process id,然后把这个id放到包里面, 然后在ndis hook或者imd中统一判断过滤规则。 今天找到一XFILTER2.0的代码 |
|
|
9楼#
发布于:2004-03-06 21:22
分析的真是透彻。
|
|
10楼#
发布于:2004-03-07 10:06
能给我一份吗,万分感谢!!
syking1@163.com 3x! |
|
11楼#
发布于:2004-03-07 15:07
实际上这段代码有问题,但是没有影响XFILT的工作,这一点是可以肯定的,XFILT的源码是不能随意给的,因为这个会影响XFILT的作者,也是不应该的,对于想要的人来说价格也是可以接受的。
你可以登录 http://www.110i.net,通过 110i@110i.net 和我联系,我们一起来研究和探讨一下。 再见! |
|
|