隐藏文件夹的方法

文档序号:6423580阅读:330来源:国知局
专利名称:隐藏文件夹的方法
技术领域
本发明涉及计算机安全技术领域,特别涉及一种隐藏文件夹的方法。
背景技术
每个人电脑上总有一些文件或者文件夹不想被别人随意打开或者删除,尤其是多 人共用一台电脑的情况下。大多数人都是将文件或文件夹摆放在一些极不常用的路径,或 者简单地用Windows的文件隐藏属性隐藏起来。对于Windows中文件的保护不仅包括程序 对单个文件访问的监控,也包括对某一个文件目录打开时显示文件列表可视化控制。或者 说,打开一个文件夹不显示受保护的文件。这样做的效果是,受保护的文件存在于某个文件 夹中,但是当用户打开文件夹时看不到这个文件的存在。现有技术中还存在如下一些隐藏文件夹的方法1、在注册表中设置目录隐藏选择“开始/运行”,输入regedit,弹出注册表编 辑器,在 HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\Curre ntVersion\\ explorer\\Advanced\\Folder\\Hidden\\SHOWALL 下,将 DWORD 值 CheckedValue 设为 0 后 对应的文件夹将被隐藏。默认值是1,要想看到隐藏的文件必须把这一项改为1才行.(如 果没有这一项可新建一个),这样当有非法用户开启显示隐藏文件功能后,文件也不会被显 示出来。[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\Cu rrentVersion\ Explorer\Advanced\Folder (这个地方不要换行)\Hidden\SHOWALL],病毒(也就是恶意程 序)把SH0WALL主键下的“Type”的键值被改为“radio2”后(也可能是其它名),所以“显 示所有文件”选项也就不显示了。要恢复显示时,只需将“radio2”改回为“radio”即可。2、更改文件夹图标来隐藏目录Wind0WSXP下,要将普通文件夹伪装成“回收站” 只需将文件夹重命名为“回收站.{645ff040-5081-10Ib-9f08-00aa002f卯4e} ” (不包括引 号)。操作系统会自动在文件夹下生成IfDeskTop. ini文件,再按个人需要调整一下属性 (当然是用系统隐藏)就可以。显示文件夹的方法用Winrar地址栏中打开以上的那个文 件夹所在目录,然后单击“回收站.{645ff040-5081-101b-9f08-00aa002f卯4e} ”把数字后 缀删掉后缀去掉。其他一些系统图标如下拨号网络.{992CFFA0-F557-101A-88EC-00DD010CCC48}打印机.{2227a280-3aea-1069-a2de-08002b30309d}控制面板·{21ec2020-3aea-1069-a2dd-08002b30309d}网上邻居.{208D2C60-3AEA-1069-A2D7-08002B30309D}上述隐藏文件夹技术虽然能够达到隐藏文件夹的目的,但是它们都很容易被别人 修改过来,稍微有一些电脑知识的人都可以对其进行破解。而且不能达到打开文件夹后,受 保护文件不可见的效果。

发明内容
(一)要解决的技术问题为了克服现有技术的缺陷,本发明提供了一种不能通过手工轻易修改过来的隐藏 文件夹的方法。(二)技术方案为解决上述技术问题,本发明提供了一种隐藏文件夹的方法,包括如下步骤Sl JiWindows操作系统内核中的内核函数进行HOOK(挂钩),以得到文件的相对 路径;S2、调用函数另一内核函数以得到文件的绝对路径,将所述绝对路径与隐藏文件 的白名单列表进行对比,如果该绝对路径所指示的文件存在于所述白名单列表中,则将该 文件标记为需要隐藏的文件;否则,将该文件标记为可显示的文件。其中,所述HOOK内核函数用于实现文件目录的访问。其中,所述HOOK内核函数为ZwQueryDirectoryFile函数。其中,对ZwQueryDirectoryFile函数的挂钩的具体实现方法如下通过 Windows内核的系统服务描述符表SSDT表,搜索到ZwQueryDirectoryFile函数地 址,将该函数地址替换成一个自定义函数MyQueryDirectoryFile的地址,在自定义 函数MyQueryDirectoryFile中调用所述ZwQueryDirectoryFile 函数,从而完成对 ZwQueryDirectoryFile 函数的挂钩。所述另一内核函数为 ZwQueryInformationFiIe。(三)有益效果本发明通过HOOK内核函数ZwQueryDirectoryFiIe实现了配置需要保护的文件路 径,从而达到控制文件夹访问的目的。该方案克服了现有注册表隐藏文件夹、修改文件夹图 标等方法的缺点,不能通过手工轻易修改过来。而且能达到打开文件夹后,受保护文件不可 见的效果。


图1是本发明的方法流程图;图2是本发明的详细原理图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细说明。以下实施 例用于说明本发明,但不用来限制本发明的范围。本发明的方法通过对Windows操作系统内核中HOOK内核函数 ZwQueryDirectoryFile的挂钩来实现。如图1所示,包括步骤Si、对Windows操作系统内核中的内核函数进行HOOK(挂钩),以得到文件的相对 路径;S2、调用另一内核函数ZwQueryInformationFiIe以得到文件的绝对路径,将所述 绝对路径与隐藏文件的白名单列表进行对比,如果该绝对路径所指示的文件存在于所述白 名单列表中,则将该文件标记为需要隐藏的文件;否则,将该文件标记为可显示的文件。
其中,对ZwQueryDirectoryFile函数的挂钩的具体实现方法如下通过Windows 内核的系统服务描述符表SSDT表,搜索到ZwQueryDirectoryFiIe函数地址,将该函数地 址替换成一个自定义函数MyQueryDirectoryFi 1 e的地址,在自定义的函数中调用所述 ZwQueryDirectoryFiIe 函数,从而完成对 ZwQueryDirectoryFile 函数的挂钩。如图2所示,隐藏文件夹的原理如下当用户打开文件夹,由于 MyQueryDirectoryFile函数替换了 ZwQueryDirectoryFile内核函数,所以将调用到自定 义的MyQueryDirectoryFile函数,并传入相应的参数。当其中的FilelnformationClass 参数类型等于 FileBothDirectoryInformation 时,可以得到函数 ZwQueryDirectoryFile 返回缓冲区 FileInformationBuffer的值,FilehformationBuffer的值中包含文件的相对路径(即相 对于文件夹的文件路径)。为了得到文件的绝对路径(或称完整路径),还要再调用一个内 核函数
权利要求
1.一种隐藏文件夹的方法,其特征在于,该方法包括如下步骤51、对Windows操作系统内核中的内核函数进行挂钩,以得到文件的相对路径;52、调用另一内核函数以得到文件的绝对路径,将所述绝对路径与隐藏文件的白名单 列表进行对比,如果该绝对路径所指示的文件存在于所述白名单列表中,则将该文件标记 为需要隐藏的文件;否则,将该文件标记为可显示的文件。
2.如权利要求1所述的方法,其特征在于,所述内核函数用于实现文件目录的访问。
3.如权利要求2所述的方法,其特征在于,所述内核函数为ZwQueryDirectoryFiIe函数。
4.如权利要求3所述的方法,其特征在于,对ZwQueryDirectoryFile函数 的挂钩的具体实现方法如下通过Windows内核的系统服务描述符表SSDT表, 搜索到ZwQueryDirectoryFile函数地址,将该函数地址替换成一个自定义函数 MyQueryDirectoryFile 的地址,在所述自定义函数MyQueryDirectoryFile中调用所述 ZwQueryDirectoryFile 函数,从而完成对 ZwQueryDirectoryFile 函数的挂钩。
5.如权利要求1 4任一项所述的方法,其特征在于,所述另一内核函数为 ZwQueryInformationFile 函数。
全文摘要
本发明公开了一种隐藏文件夹的方法,属于计算机安全技术领域,该方法通过对内核函数ZwQueryDirectoryFile函数的挂钩,达到定制隐藏文件的目的。本发明的方法克服了现有注册表隐藏文件夹、修改文件夹图标等方法的缺点,不能通过手工轻易修改过来。而且能达到打开文件夹后,受保护文件不可见的效果。
文档编号G06F21/00GK102142069SQ201110115230
公开日2011年8月3日 申请日期2011年5月5日 优先权日2011年5月5日
发明者万雪松, 于晓军, 赵辰清 申请人:北京思创银联科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1