else
驱动小牛
驱动小牛
  • 注册日期2002-10-21
  • 最后登录2004-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2559回复:8

拦截从网络上访问本地文件????

楼主#
更多 发布于:2003-11-04 16:16
拦截从网络上访问本地硬盘上的共享文件有什么方法???

我拦截了ZwCreateFile,ZwWriteFile,。。。。但是不能拦截网络上对本地机器上共享文件的访问

用IFS就没有这个问题了,但是用HookAPI能不能做?或者还有没有其它的方法?
fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-04 17:02
IFS为什么就没有这个问题?能解释一下吗?

同样关注ing
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
else
驱动小牛
驱动小牛
  • 注册日期2002-10-21
  • 最后登录2004-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-04 17:36
访问文件接口肯定会在文件系统之上,所以IFS可以。

你用Filemon跟踪一下就可以知道了。

ZwCreateFile接口就是在IFS Filter之上,但是从网络上的机器访问本地共享文件时,本地机器上并没有调用ZwCreateFile
zhou
驱动牛犊
驱动牛犊
  • 注册日期2001-08-01
  • 最后登录2007-08-10
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-11-26 16:31
可以用NDIS做一个网络访问的驱动程序
dancy2000
nustzhua
驱动中牛
驱动中牛
  • 注册日期2002-06-19
  • 最后登录2015-09-27
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-11-27 09:16
访问文件接口肯定会在文件系统之上,所以IFS可以。

你用Filemon跟踪一下就可以知道了。

ZwCreateFile接口就是在IFS Filter之上,但是从网络上的机器访问本地共享文件时,本地机器上并没有调用ZwCreateFile

跟踪fastio试试。
不限容量的免费邮箱 www.k65.net
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2003-11-27 23:15
不能HOOK NATIVE API ,必须用过滤驱动。。。。。。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
luowei74
驱动小牛
驱动小牛
  • 注册日期2003-07-21
  • 最后登录2007-04-16
  • 粉丝0
  • 关注0
  • 积分162分
  • 威望21点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-12-02 13:51
Hookapi可能不行,网络文件访问是通过本地的srv.sys进行的,用IFS是可以拦截的
else
驱动小牛
驱动小牛
  • 注册日期2002-10-21
  • 最后登录2004-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-12-02 16:00
谢谢各位,只好挂个IFS了。

我用ZwCreateFile主要是用来拦截\\\\.\\COM1之类的设备
scnuiori
驱动牛犊
驱动牛犊
  • 注册日期2002-04-12
  • 最后登录2009-05-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-12-25 15:11
新闻祖上得来的.

HANDLE TokenHandle = NULL;
        NTSTATUS Status = ZwOpenThreadToken((HANDLE)-2,
STANDARD_RIGHTS_READ, FALSE, &TokenHandle);
        if (NT_SUCCESS(Status))
        {
            ULONG ResultLength;
            TOKEN_TYPE TType;
            Status = ZwQueryInformationToken(TokenHandle, TokenType, &TType,
sizeof(TOKEN_TYPE), &ResultLength);
            if (NT_SUCCESS(Status))
            {
                if (TType == TokenImpersonation)
                {
                    bServerCall = TRUE;
                }
            }
            ZwClose(TokenHandle);
        }

Notice, however, that you must check for impersonation token in
IRP_MJ_CREATE dispatch routine only. And using current thread probably is
not the best idea.
游客

返回顶部