lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
阅读:2397回复:8

hook api隐藏文件夹可以防止 cd 进入吗?

楼主#
更多 发布于:2005-01-21 17:15
我用 hook ZwQueryDirectoryfile 编写了一个隐藏文件夹的驱动,如何防止 CD 进入呢? 在sfilter 中处理没问题!

cd  的话,用dbgview观察 发现产生 irp ,用上面的方法在驱动里没法处理irp

最新喜欢:

aasa2aasa2
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-22 18:15
对大多数CD/DVD刻录程序没用
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-22 19:12
只要能打开该目录,就能用cd进去,ZwQueryDirectoryFile只是用来枚举文件的,和能否cd进目录根本就没有关系。
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-23 10:58
我用 hook  api 在资源管理器中隐藏了 c:\test,但是用CMD--命令窗里cd test 成功并能删除文件等,如何做能防止cd 进入呢?

我试着修改返回状态码:STATUS_NO_SUCH_FILE
STATUS_ACCESS_DENIED 等 都在资源管理器中隐藏,不能防止进入

deltali
驱动小牛
驱动小牛
  • 注册日期2002-10-25
  • 最后登录2010-07-06
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望23点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-23 11:12
上面那个兄弟不是说了吗?隐藏功能只是用来枚举的,并不能阻止访问的,要想达到你的功能还要防止隐藏的目录被打开.
我又来了,生命不息,驱动不止。
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-23 11:35
上面那个兄弟不是说了吗?隐藏功能只是用来枚举的,并不能阻止访问的,要想达到你的功能还要防止隐藏的目录被打开.

对,有选择性的控制就应该可以
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-24 15:15
HOOK ZwOpenFile 我成功hook了,对所有文件都返回STATUS_ACCESS_DENIED,能防止所有文件读,
但我想和我的文件比较后防止指定文件被读

...调用ZwOpenfile 成功
fb = (RealZwOpenFile)(FileHandle, DesiredAccess, ObjectAttributes, IoStatusBlock,ShareAccess, OpenOptions);
if (Nt_SUCCESS(fb))
ZwReadFile(FileHandle,NULL,NULL,NULL,iostatus,Buffer,filelen,NULL,NULL);
Filehandle 为 zwopenfile 返回,其他的变量自己定义,老是返回不成功?

错误码为 非法handle访问?
ZwOpenFile成功返回的Filehandle,ZwReadFile不能直接使用吗?
  
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-01-24 15:26
NTSTATUS
HookZwOpenFile(
    OUT PHANDLE  FileHandle,
    IN ACCESS_MASK  DesiredAccess,
    IN POBJECT_ATTRIBUTES  ObjectAttributes,
    OUT PIO_STATUS_BLOCK  IoStatusBlock,
    IN ULONG  ShareAccess,
    IN ULONG  OpenOptions
    )

{
NTSTATUS          fb,status;
PVOID  Buffer = NULL;
ULONG             filelen = 0;
UNICODE_STRING    *popendir;

// CHAR             whidedir[] = "\??\c:\test";

fb = (RealZwOpenFile)(FileHandle, DesiredAccess, ObjectAttributes, IoStatusBlock,ShareAccess, OpenOptions);

if (NT_SUCCESS(fb))
{
status = ZwReadFile(FileHandle,NULL,NULL,NULL,IoStatusBlock,Buffer,filelen,NULL,NULL);

if (NT_SUCCESS(status))
{
    DbgPrint(("kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk \n"));

   popendir = (PWSTR)Buffer;

   DbgPrint(("文件名是:          %ws \n",popendir->Buffer));
}
else
{
DbgPrint(("error %x \n",status));
}

//    fb = 0xC0000022;

}

return fb ;
}
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-01-24 16:19
我真傻

原来挺easy! :D
游客

返回顶部