阅读:2418回复:8
hook api隐藏文件夹可以防止 cd 进入吗?
我用 hook ZwQueryDirectoryfile 编写了一个隐藏文件夹的驱动,如何防止 CD 进入呢? 在sfilter 中处理没问题!
cd 的话,用dbgview观察 发现产生 irp ,用上面的方法在驱动里没法处理irp |
|
最新喜欢:aasa2 |
沙发#
发布于:2005-01-22 18:15
对大多数CD/DVD刻录程序没用
|
|
|
板凳#
发布于:2005-01-22 19:12
只要能打开该目录,就能用cd进去,ZwQueryDirectoryFile只是用来枚举文件的,和能否cd进目录根本就没有关系。
|
|
地板#
发布于:2005-01-23 10:58
我用 hook api 在资源管理器中隐藏了 c:\test,但是用CMD--命令窗里cd test 成功并能删除文件等,如何做能防止cd 进入呢?
我试着修改返回状态码:STATUS_NO_SUCH_FILE STATUS_ACCESS_DENIED 等 都在资源管理器中隐藏,不能防止进入 |
|
地下室#
发布于:2005-01-23 11:12
上面那个兄弟不是说了吗?隐藏功能只是用来枚举的,并不能阻止访问的,要想达到你的功能还要防止隐藏的目录被打开.
|
|
|
5楼#
发布于:2005-01-23 11:35
上面那个兄弟不是说了吗?隐藏功能只是用来枚举的,并不能阻止访问的,要想达到你的功能还要防止隐藏的目录被打开. 对,有选择性的控制就应该可以 |
|
|
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不能直接使用吗? |
|
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 ; } |
|
8楼#
发布于:2005-01-24 16:19
我真傻
原来挺easy! :D |
|