Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3179797
  • 博文数量: 797
  • 博客积分: 10134
  • 博客等级: 上将
  • 技术积分: 9335
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-22 22:57
个人简介

1

文章分类

全部博文(797)

文章存档

2022年(1)

2021年(2)

2017年(2)

2016年(1)

2015年(4)

2014年(1)

2013年(6)

2012年(6)

2011年(10)

2010年(26)

2009年(63)

2008年(61)

2007年(51)

2006年(563)

我的朋友

分类: WINDOWS

2006-08-20 23:12:37

妙用脚本和批处理 来清除电脑中的痕迹

                                      

我们知道,使用Windows操作系统在你打开文件、输入各种密码或用QQ与朋友聊天,都可能引发个人机密泄漏,都会在机器上留下踪迹。为安全起见,如果是在公用电脑上,你应该在离开时抹去这些操作后留下的痕迹,下面是可能的泄密点及解决办法。
一、可能的泄密点及其存在的位置

  Windows中可能泄漏我们的秘密的地方有两处:一是存在于文件夹中,一是存在于注册表里。

  1.文件夹中:在"开始"菜单中的"文档"中会显示我们浏览过的文件,如果它们暴露其中,将使我们的秘密不保,应将其删除。"文档"中的内容安放在C:WindowsRecent文件夹中;安装程序、编辑文件时产生的临时文件安放在c:windowstemp文件夹中;删除文件时文件并没有被真正删除,保存在回收站中,回收站里的东西在C:RECYCLED文件夹(隐含的)存放着; 当你上网浏览网站时,Windows会在C:WINDOWSHistory和C:WindowsTemporary Internet Files文件夹中保留下你曾看过的网页;不经意的,微软还会从网上取些小甜饼给你,甜饼放在C:WINDOWSCookies中。

  2.注册表中:IE浏览器地址栏里留下的曾进去过的网站地址及后来诞生的"网络实名"。

  其实,Windows的注册表本身就是个大大的垃圾仓库,里头放着的垃圾,你自己有空时去找吧。本文在这里仅指出一、二处而矣,旨在引导你触类旁通,知道怎样去清除注册表里可能令我们泄密的地方。

  二、具体示例

  实现本功能使用了两个文件,VBS脚本文件reg.vbs(可以自己定义文件名);批处理文件reg.bat(可以自己定义文件名)。

  1.VBS脚本文件如下:

Dim WSHShell
Set WSHShell=WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite "HKLMSoftwareMicrosoftWindowsCurrentVersionRunreg","reg.vbs"
WSHShell.RegWrite "HKLMSoftwareMicrosoftWindowsCurrentVersionRunOncedeldel","reg.bat"
WSHShell.RegWrite "HKCUSoftwareMicrosoftInternet ExplorerMainStart Page", "about:blank"
WSHShell.RegWrite "HKCUSoftwareMicrosoftInternet ExplorerTypedURLs",""
WSHShell.RegDelete "HKCUSoftwareMicrosoftInternet ExplorerTypedURLs"
WSHShell.RegWrite "HKCUSoftwareMicrosoftInternet ExplorerTypedURLs",""
WSHShell.RegWrite "HKCUSoftware21InputCns",""
WSHShell.RegDelete "HKCUSoftware21InputCns"
WSHShell.RegWrite "HKCUSoftware21InputCns",""

  本脚本前二行为定义变量,请大家照着写。从第三行开始,是对注册表的处理。第三行、第四行为在注册表中添加计算机启动时自动运行的过程文件,一个是该脚本自身为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:windowstemp*.*
@deltree -y c:windows"Temporary Internet Files"*.*
@deltree -y c:windowsHistory*.*
@deltree -y C:WindowsRecent*.*
@deltree -y C:RECYCLED*.*
@deltree -y C:WINDOWSCookies*.*

  此批处理第一行为,删除临时文件夹的内容;第二、三行,删除IE浏览器打开网页后遗留下的内容;每四行为,删除"开始"菜单"文档"中的内容;第五行,删除垃圾桶里的内容;第六行,删除小甜饼。

  将脚本语言文件和批处理文件复制到C:windows文件夹中,双击reg.vbs文件运行它,以后每次启动电脑时,都会自动完成对注册表和垃圾文件夹的清理。
 
  三、其他

  其实直接用脚本语言也能实现上述批处理的功能,只是脚本文件在运行过程中,容易遇到这样的提示信息:Windows Scripting Host脚本执行错误,或者是:"种类:Microsoft VBScipt运行错误,说明:没有权限。"这样的错误,从而中止执行脚本程序。产生这些问题的原因是,安装有与脚本处理有关的软件,如安装了Office2000的脚本语言编辑程序,以及非正常关机等。

  具体做法如下:

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder("C:WINDOWSCookies*.*"),True
fso.DeleteFile("C:WINDOWSCookies*.*"),True
fso.DeleteFolder("C:WINDOWSHistory*.*"),True
fso.DeleteFile("C:WINDOWSHistory*.*"),True
fso.DeleteFolder("C:WINDOWSTemp*.*"),True
fso.DeleteFile("C:WINDOWSTemp*.*"),True
fso.DeleteFolder("C:RECYCLED*.*"),True
fso.DeleteFile("C:RECYCLED*.*"),True
fso.DeleteFolder("C:WINDOWSTemporary Internet Files*.*"),True
fso.DeleteFile("C:WINDOWSTemporary Internet Files*.*"),True

  你只需将以上内容附在前文reg.vbs文件之后即可,有兴趣的读者可以试试。以后在公用电脑上操作完毕就再也不怕泄漏秘密了

阅读(1461) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~