首页
社区
课程
招聘
[旧帖] [分享]简单防删除文件方法小技巧 等待申请码 0.00雪花
发表于: 2009-7-13 20:12 1953

[旧帖] [分享]简单防删除文件方法小技巧 等待申请码 0.00雪花

2009-7-13 20:12
1953
本人是刚学习驱动编程新手,但是喜欢投机取巧。看了很多防删除文件技术的驱动程序,不过很多防删除文件例子面对IceSword都显得非常脆弱。那些通过微文件过滤保护或者通过钩子HOOK技术来保护文件防删除,在用IceSword情况下都给强制删除。但是我试了下自己一个小技巧,结果发现IceSword无法删除我的目标文件。我通过内核驱动程序打开我所保护目标文件,然后不关闭这个文件对象下,用IceSword是无法强制删除我的保护目标文件。比如:防C:\1.sys文件删除。
代码如下:
驱程代码
UNICODE_STRING FileName;       
OBJECT_ATTRIBUTES ob;
IO_STATUS_BLOCK iostatus;
RtlInitUnicodeString(&FileName, L"\\??\\c:\\1.sys");
InitializeObjectAttributes(&ob, &FileName, OBJ_CASE_INSENSITIVE, NULL, NULL);
ZwCreateFile(&hfile, GENERIC_READ, &ob, &iostatus, NULL, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ, FILE_OPEN_IF, FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0);
我只是试过IceSword,不知道别的工具可不可以删除。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 74
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
这种方法是不行的。首先对于一个打开的文件,文件系统会等到所有最后一个句柄关闭的时候再执行删除,你有没有试试重新启动你的机器看这个文件还在不在?而且你开文件时用的是FILE_SHARE_READ。如果文件已经被用其它方法打开了,你这样就根本打不开。另外你这样开文件就不关,会有大量的垃圾句柄在系统层,就等着系统死机吧。

没有仔细研究过IceSword,但感觉IceSword是用来绕过过滤驱动,直接访问文件系统的。任何在过滤层方案都是可以被和谐的,就算IceSword不行,还会有别的sword。
2009-7-13 21:42
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
3
嗯,想法不错,不过正如楼上所说,直接绕过FS去操作磁盘就可以了。

另外,不知道这个API能不能有效:

If dwFlags specifies MOVEFILE_DELAY_UNTIL_REBOOT and lpNewFileName is NULL, MoveFileEx registers the lpExistingFileName file to be deleted
 when the system restarts. If lpExistingFileName refers to a directory, the system removes the directory at restart only if the directory is empty.
2009-7-13 22:13
0
雪    币: 370
活跃值: (52)
能力值: ( LV13,RANK:350 )
在线值:
发帖
回帖
粉丝
4
关注 +学习 期待更好的文章
2009-7-14 15:25
0
雪    币: 136
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
HooK ZwCreateFile?
2009-7-14 18:39
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
6
版主指的是MoveFileEx,通过重启后删除的方法,如果楼主的这个驱动是Boot Start的驱动,估计MoveFileEx也不行
2009-7-15 00:38
0
雪    币: 100
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
我做过实验了,然后用IceSword强制删除后,重启计算机文件是不会给删除。希望高手们能够指点在这种情况下删除文件
2009-7-15 15:17
0
雪    币: 100
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
我们不要讨论HOOK ZwCreateFile这个函数的方法,因为文件打开时肯定会给它钩住。如果我们不能成功打开,肯定很容易直接对硬盘数据进行任何操作。我这个小技巧只是借助在加载后保护文件防止给删除
2009-7-15 15:31
0
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
还没实际用过,不说话
2009-7-15 19:09
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
学习了,希望继续交流.
2009-7-15 19:28
0
游客
登录 | 注册 方可回帖
返回
//