贵安新区2016gdp:如何打开.shs文件

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/26 05:27:17
用什么方式才能打开.shs类型的文件.

碎片文件,一般无用,如果删除不了,说明此文件有问题,有可能是病毒载体,请看如下分析:

很多人都应该都见过windows产生的碎片文件,windows中有一种被称为碎片对象的文件(.shs文件)。如果你在邮件附件中收倒一份这样的文件,你敢不敢打开它呢。估计很多人都不会觉得这种文件是一个威胁。原因有几点:

1 碎片对象文件的缺省图标是一个和记事本文件图标相类似的图标,很容易会被误认为是一些文本的文档,用户对他的警惕心理也比较小。

2 .shs是一个无条件隐藏扩展名的文件。即使是在“资源管理器\工具\文件夹选项\查看”属性中将"隐藏已知文件扩展名"属性设为不隐藏,.shs文件仍然是隐藏。很多人都喜欢将文件扩展名显示出来(包括我),这样对文件的情况了解的更清楚些。可是一个test.txt.shs文件在浏览器中显示依然是test.txt.在你已经习惯了看到文件扩展名的情况下,你会对这样一个文件起疑心吗?

3 即使有疑心,你用任何杀毒软件都不会找到这个文件的一点问题,因为这个文件本身就没有病毒,也不是可执行的,而且还是系统文件。你会怀疑这样的文件吗?
==================
[注]
此处,原作者提供了一个测试实验,利用碎片文件删除硬盘中的文件,出于安全考虑,省去此段……
==================

*技术原理*

---- OLE(Object Linking And Embedding)

---- 对象链接与嵌入,OLE允许你通过使用来自两个或多个WINDOWS应用程序的资源来创造复杂的 文本,OLE提供了方便的技术用来将文字和来自不同程序的数字表、图象和其他类型的数据组合起 来。为此,OLE定义了将对象附属于宿主文本的两个基本方法,链接与嵌入:

---- 嵌入:一个嵌入对象包含在宿主文本中。要创建或编辑一个嵌入对象的数据时,你可以在不 离开宿主文本的情况下激活源应用程序。此结果对象将保存在宿主文本中,而不是另外其它的文件。例如,你创建了一个字处理文本,其中包含嵌入Excel工作表。为了执行在此工作表上的操作, 你可以在此文本内部激活Excel。在保存了此字处理文件后,你同时也将嵌入的工作表数据保存了下来。

---- 链接:相比之下,一个链接对象却保存在外部文件中。宿主文本包含了对数据的引用以及对链接对象的映象,而不保存数据本身。在修订对象数据时,所做的改变显示在宿主文本中但却保存在外部文件中。例如,包含一个链接Excel工作表对象的字处理文本提供给你对用于编辑工作表数据的Excel资源的完整访问能力。此文本包含了对分立工作表文件的引用。如果此工作表恰好被链接入任何其它文本中则可以从任何一个它的宿主文本中编辑其数据。Windows在需要时可以更新此链接关系(简称链),这样便可以给每一个宿主文本提供数据的最新版本。

也就是说,我们所输入的命令作为OLE对象嵌入到对象包装程序新建的文件中了,而微软为了能方便的将嵌入到文件的对象进行复制,使用了一种技术Shell Scrap Object(简称SHS),就是说,当你在不同文件间复制对象时,windows是将对象包装成一个碎片对象来进行复制的。因此,一旦我们不是在文件间进行复制粘贴,而是直接将碎片对象粘贴到硬盘上,就会产生一个.shs文件。这个碎片对象文件保存了原来对象的所具备的功能,原来对象包含的命令同样会被解析执行。

*解决方法*

既然这种文件可能会带来危险,那么我们该如何防止来自这种文件的威胁呢?
shs文件既然不是可执行文件,当然需要其他的程序来解析执行了,我们去掉解析执行的关联就可以简单防止这种文件中潜伏的威胁了。
打开注册表编辑器:regedit.exe
在[HKEY_CLASSES_ROOT\.shs]主键下,将默认值ShellScrap删除,然后在双击.shs文件,这回不会去执行了,弹出让我们选择打开.shs文件需要的程序的对话框。跟彻底一点的办法是将[HKEY_CLASSES_ROOT\ShellScrap\shell\open\command]下的打开.shs文件的关联完全去掉,现在即使双击.shs文件,连选择运行的程序也对话框也不打开了,直接要求在控制面板重建文件关联。

*题外的话*

在windows系统中,还存在其他一些类似的的文件后缀名,如.shb、.lnk等等,例如攻击者可以在快捷方式文件属性指向中同样嵌入恶意命令,对系统造成危害。

参考资料:http://www.rising.com.cn/antivirus/viruslore/virus126.htm
回答者:yeehan - 高级魔法师 六级 1-20 19:40

--------------------------------------------------------------------------------

楼上解释的详细哦!~~~~~
回答者:yanghao8644 - 试用期 一级 1-20 19:59

--------------------------------------------------------------------------------

SHS文件是一类特殊的OLE(ObjectLinkingandEmbedding,对象连接和嵌入)对象,可以由Word文档或Excel电子表格创建。通过选择文档中文本或图像的一块区域,然后拖放该区域到桌面上的某处,就可以创建一个Windows碎片对象,或称为SHS文件(此文件是不可读文件)。但是你可以用任何其它你想要的文件名重新命名SHS文件,或者拖放SHS对象到另一个文档(同样地,你可以剪切和粘贴)。

运行--regedit,在HKEY_CLASSES_ROOT.shs主键下,将默认值ShellScrap删除,现在双击.SHS文件,看,不会执行了吧?弹出了一个对话框,让我们选择打开.SHS文件需要的程序,此时你选择“记事本”程序看就非常安全了。 更彻底一点的办法是将HKEY_CLASSES_ROOTShellScrapshellopencommand下的打开.SHS文件的关联完全去掉,现在双击.SHS文件,连选择运行程序的对话框也不出现了,它会直接要求在控制面板重建文件关联。

也有可能是你的电脑中了病毒,如果是病毒文件隐藏了其真实扩展名“SHS”,而你在反病毒软件中设置成扫描指定程序文件、而不是扫描所有文件(如只扫描可执行文件),那么反病毒软件是无法发现病毒的,所以请在反病毒软件的指定程序文件中加入“.SHS”文件的扫描。各种防病毒软件的设置大同小异,比较简单,请大家自己进行设置。