一、可能的泄密点及其存在的位置
Windows中可能泄漏我们的秘密的地方有两处:一是存在于文件夹中,一是存在于注册表里。
1.文件夹中:在“开始”菜单中的“文档”中会显示我们浏览过的文件,如果它们暴露其中,将使我们的秘密不保,应将其删除。“文档”中的内容安放在C:\Windows\Recent文件夹中;安装程序、编辑文件时产生的临时文件安放在c:\windows\temp文件夹中;删除文件时文件并没有被真正删除,保存在回收站中,回收站里的东西在C:\RECYCLED文件夹(隐含的)存放着; 当你上网浏览网站时,Windows会在C:\WINDOWS\History和C:\Windows\Temporary Internet Files文件夹中保留下你曾看过的网页;不经意的,微软还会从网上取些小甜饼给你,甜饼放在C:\WINDOWS\Cookies中。
2.注册表中:IE浏览器地址栏里留下的曾进去过的网站地址及后来诞生的“网络实名”。
其实,Windows的注册表本身就是个大大的垃圾仓库,里头放着的垃圾,你自己有空时去找吧。本文在这里仅指出一、二处而矣,旨在引导你触类旁通,知道怎样去清除注册表里可能令我们泄密的地方。
二、具体示例
实现本功能使用了两个文件,VBS脚本文件reg.vbs(可以自己定义文件名);批处理文件reg.bat(可以自己定义文件名)。
1.VBS脚本文件如下:
Dim WSHShell
Set WSHShell=WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\reg","reg.vbs"
WSHShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\deldel","reg.bat"
WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", "about:blank"
WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\",""
WSHShell.RegDelete "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\"
WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\",""
WSHShell.RegWrite "HKCU\Software\3721\InputCns\",""
WSHShell.RegDelete "HKCU\Software\3721\InputCns\"
WSHShell.RegWrite "HKCU\Software\3721\InputCns\",""
本脚本前二行为定义变量,请大家照着写。从第三行开始,是对注册表的处理。第三行、第四行为在注册表中添加计算机启动时自动运行的过程文件,一个是该脚本自身为reg.vbs,另一个是reg.bat批处理文件。第五行为还原IE开始页为“about:blank”;第六、七、八行为清除IE浏览器地址栏留下的曾经浏览过的网页地址名;第九、十、十一行为清除IE地址栏里的网络实名。
这里,读者需掌握以下几点:
1)在这里我们利用了VBS脚本语言,VBScript代码在本地是通过Windows Script Host解释执行的。VBS的执行离不开Windows script host(WSH),WSH是微软提供的一种基于32位Windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行。利用WSH,用户能够操纵WSH对象、ActiveX对象、注册表和文件系统。在Windows2000下,还可用WSH来访问Windows NT活动目录服务。WSH依赖于IE3.0及其以上版本提供的Visual Basic Script和Jscript脚本引擎,因此只有在安装IE3.0及其以上版本之后,才能安装WSH。
WSH所对应的程序“WScript.exe”是一个脚本语言解释器,正是它使得脚本可以被执行,就象执行批处理一样。在WSH脚本环境里,预定义了一些对象,通过它自带的几个内置对象,可以实现获取环境变量、创建快捷方式、加载程序、读写注册表等功能。本文正是这样一个具体的应用实例。
2)命令“WSHShell.RegWrite”表示在注册表中生成主键或生成键值;
3)命令“WSHShell.RegDelete”是删除主键或键值;
4)主键与键值的区别在于主键名后有“\”,键值没有“\”;
5)“HKLM”代表HKEY_LOCAL_MACHINE主键;“HKCU”代表HKEY_CURRENT_USER主键。
知道VBS修改注册表的格式后,注册表任你删改了,当然,你做这些操作之前,最好先备份注册表。
2.批处理文件如下:
@deltree -y c:\windows\temp\*.*
@deltree -y c:\windows\"Temporary Internet Files"\*.*
@deltree -y c:\windows\History\*.*
@deltree -y C:\Windows\Recent\*.*
@deltree -y C:\RECYCLED\*.*
@deltree -y C:\WINDOWS\Cookies\*.*
此批处理第一行为,删除临时文件夹的内容;第二、三行,删除IE浏览器打开网页后遗留下的内容;每四行为,删除“开始”菜单“文档”中的内容;第五行,删除垃圾桶里的内容;第六行,删除小甜饼。
将脚本语言文件和批处理文件复制到C:\windows文件夹中,双击reg.vbs文件运行它,以后每次启动电脑时,都会自动完成对注册表和垃圾文件夹的清理。
三、其他
其实直接用脚本语言也能实现上述批处理的功能,只是脚本文件在运行过程中,容易遇到这样的提示信息:Windows Scripting Host脚本执行错误,或者是:“种类:Microsoft VBScipt运行错误,说明:没有权限。“这样的错误,从而中止执行脚本程序。产生这些问题的原因是,安装有与脚本处理有关的软件,如安装了Office2000的脚本语言编辑程序,以及非正常关机等。
具体做法如下:
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder("C:\WINDOWS\Cookies\*.*"),True
fso.DeleteFile("C:\WINDOWS\Cookies\*.*"),True
fso.DeleteFolder("C:\WINDOWS\History\*.*"),True
fso.DeleteFile("C:\WINDOWS\History\*.*"),True
fso.DeleteFolder("C:\WINDOWS\Temp\*.*"),True
fso.DeleteFile("C:\WINDOWS\Temp\*.*"),True
fso.DeleteFolder("C:\RECYCLED\*.*"),True
fso.DeleteFile("C:\RECYCLED\*.*"),True
fso.DeleteFolder("C:\WINDOWS\Temporary Internet Files\*.*"),True
fso.DeleteFile("C:\WINDOWS\Temporary Internet Files\*.*"),True
你只需将以上内容附在前文reg.vbs文件之后即可,有兴趣的读者可以试试。以后在公用电脑上操作完毕就再也不怕泄漏秘密了!