免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > windows > 强删与防删文件的技术(5)

强删与防删文件的技术(5)

时间:2011-12-17 17:42来源:未知 整理:寂涯网络 点击:


  if(pfcb)
  {
   *(PULONG)(pfcb+cleanup_of_fcb_offset)=1;
//fcb->cleanupcount=1
  }  
 }
  if(pccb)
 {            //ccb->cleanupcount=1
  *(PULONG)((*(PULONG)(pccb+ccb_of_offset))+cleanup_of_ccb_offset)=1;
 }
 ObDereferenceObject(fileobject);
 ZwClose(hfile);
[/code]

代码我加了注释,简单易懂。
实验效果:
首先用1.txt为my.txt建立硬链接并且占坑1.txt。此时一般的关闭句柄方法是删除不了
my.txt的,磁盘级删除可以)

加载xcb.sys,发现my.txt被删除了。而1.txt还存在。

并且1.txt的句柄还存在

所以xcb解锁文件很安全,不伤句柄,占坑的程序再关闭1.txt的句柄也不会蓝屏的。
防御的思路如下:
对于暴力枚举句柄并关闭的方法,防御很简单,在进程的句柄表中,设置protect标志。
这样,它可以枚举到占坑的文件句柄,但是无法通过closehandle关闭。
对于下发IRP删除文件的,我们可以HOOK NtfsFsdSetInformation(未导出)。通过
ObReferenceObjectByName得到\filesystem\ntfs的driver_object结构指针,然后通过
MajorFunction[IRP_MJ_SET_INFORMATION]得到NtfsFsdSetInformation的地址。
好了,文章就到这里,强删文件,在文件系统层不算底层,但是比较安全。磁盘系统删除文
件虽然暴力,但是不稳定。
本文的代码在vs2010+wdk76000编译通过,在vm+xp sp3+ntfs通过测试,稳定运行。

本页地址 http://www.jybase.net/windows/20111217721.html

百度搜索更多

谷歌搜索更多

顶一下
(2)
100%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com