论文部分内容阅读
人类对未知事物始终保持着潜在的恐惧感,对待未知文件也是如此。当你下载的文件不知道用什么软件打开时;当你的文件被奇怪的程序强行关联时;当文件扩展名被别人修改了时,你是否也觉得束手无策?学会“未知文件类型解析术”,告别对未知文件的恐惧感!
何种情况下会出现未知文件
首先得搞清什么是已知文件?我们都知道,一个完整的文件名包括前缀和后缀两个部分,其中后缀也称为扩展名,通常由3或4个不同的字符组成,可以是数字、字母、符号等。你可以把文件的扩展名理解为是文件的“身份证”,不同的扩展名决定了不同文件类型和作用。
★并非所有文件都有后缀,Windows中就有很多没有后缀的文件,比如“%WINDIR%\system32\config”目录下的注册表数据库文件system、userdiff、sam等。
★在“资源管理器”中默认并不显示系统已知(即在注册表中有记录)的文件扩展名,可以选择菜单“工具→文件夹选项”,然后在“查看”选项卡中取消“隐藏已知文件类型的扩展名”,就能正常显示扩展名了,这样设置同时有助于防止伪装成图片的木马程序。
操作系统是怎么知道扩展名代表的文件类型的呢?Windows系统中还存在一种“文件关联”机制,没有被关联的文件,系统也是无法识别的。因此,一个Windows下的已知文件必须满足两个条件:文件有扩展名和扩展名已经被注册。如果你在电脑里发现了双击后无法打开的文件,那么可能有以下几种情况:
①文件没有扩展名,这可能是由于人为造成的,也可能是病毒所引起,当然也可能是该文件本来就没有后缀。
②如果文件有扩展名,则可能是相应的执行软件未安装,或扩展名并非文件最原始的后缀。
③文件关联失效,这个可能是文件后缀没有在注册表中正确关联,也可能是由于注册表中管理文件关联的分支被修改,通常是病毒或恶意程序所导致。
什么是文件关联呢?
文件关联包括关联文件的运行方式和关联文件图标两个方面。其中关联文件的运行方式,通俗地说就是选择不同类型的文件时,在其右键菜单上显示的各功能项,每个功能项即对应一个关联,选择了某一功能项(如“编辑”操作),系统就去执行相应的处理程序;而关联文件图标,其实就是在Windows下让不同的文件类型可以通过图标来区别。
揭开未知文件的真面目
如果没有扩展名或者扩展名被修改,我们怎么知道文件的真实类型呢?
1.查看文件留下的“标记”
很多种文件都会在文件开始处留下一个小小的“标记”,主要供打开这些文件的程序来确认和识别文件格式是否正确。同类型的文件在开始的“标记”都会遵循相同的规则,这种“标记”就是文件的特征码(Identifier Characters,也叫特征字符串),即用文件的前N个字节辨别文件类型。根据文件特征码我们就能识别未知的文件类型。
假设有两个ZIP文件(File0.zip和File1.zip),把其中File0.zip的扩展名去掉,另一个则不变,用支持十六进制的编辑器打开这两个文件(常见的有UltraEdit、WinHex等,本文以WinHex为例,下载地址:http://www.onlinedown.net/soft/1510.htm)。打开WinHex程序,点击“文件→打开”,选中File0点“确定”。在WinHex中便可看到文件十六进制代码和一大堆乱码,在乱码的开头为“PK”,这就是这个文件类型的特征码,对应的十六进制代码则为“504B”。同样,我们也在WinHex中打开File1.zip,即可发现这个文件也是以“PK”为开头,十六进制为“50 4B”。这就说明ZIP文件的特征码为“PK”,十六进制表示为“50 4B”(见图1)。
给大家总结了一下常见文件类型的特征码,只需查找表中的对应关系就能揭开文件的真面目了(见表1)。
由于特征码是通过十六进制编辑器来查看的,这个方法并不适用文本文件(如TXT、BAT、VBS、JS、HTML等),可以用“记事本”打开并通过文件内容来鉴别。
2.为陌生文件找个“归宿”
即使文件有扩展名,但如果系统中没有安装合适的软件,当然也无法打开它。而对于新手而言,识别成千上万的文件后缀是一件不可思议的事情……
实战1:用扩展名辞典给PDF找个合适的阅读器
安装并运行扩展名辞典(下载地址:http://www.onlinedown.net/soft/35676.htm),待数据库载入完毕后单击“开始使用”按钮。在“查询扩展名”处输入“pdf”,单击“查询”,这时就会显示出改扩展名的详细信息。在下方的“相关软件”中显示打开该扩展名的软件,单击“下载软件”进行搜索即可下载相关的软件。
实战2:在网上找出文件的打开程序
对于知道了文件后缀的文件,除了可通过软件查询外,还可在搜索引擎用后缀作为关键字进行搜索,当然你也可以到http://www.filext.com进行查询,这个网站提供了专业的文件后缀功能。查询方法很简单,只要把文件后缀输入网页左侧的对话框中,单击“Search”即可,在结果页面中可以看到该类型文件的运行程序、特征码(见图2)。
3.把“牵错手”的文件类型拉回来
当你双击一个REG文件时,通常情况下系统会询问你是否要将这个文件合并到注册表中,不过如果REG文件关联发生了变化,双击后却用记事本或其他文本软件打开了。那么,如何恢复文件的默认关联或者如何取消文件的错误关联呢?
方法一:右击目标文件,选择“打开方式→选择程序”,在弹出窗口列表中选择对应的程序(注册表文件则对应Regedit.exe)并勾选“始终使用选择的程序打开这种文件”,确认即可。
方法二:右击目标文件,选择“属性”,单击“常规”选项卡下的“更改”,选择对应的运行程序即可。
方法三:在“资源管理器”中选择菜单“工具→文件夹选项”,在“文件类型”选项卡的文件类型列表中选择“REG”项,单击“高级”,双击“操作”列表下的“合并”,然后将“用于执行操作的应用程序”设置为“regedit.exe "%1"”(不含外侧中文引号),确认设置后返回,单击“设置为默认值”,确认操作即可。
方法四:如果是被病毒或木马破坏的关联,可以使用System Repair Engineer(下载地址:http://www.kztechs.com/sreng/download.html)来修复。
如果EXE文件关联失效,可以这样修复:将regedit.exe改为regedit.com,双击运行,展开[HKEY_CLASSES_ ROOT\exefile\shell\open\command],将右侧窗口的“默认”键值设置为“"%1" %*”,然后定位到[HKEY_LOCAL_ MACHINE\Software\Microsoft\windowsNT\ currentVersion\winlogon],将右侧窗口“shell”的键值改为“explorer.exe”,关闭“注册表编辑器”即可。
未知文件还能干什么
1.VCD变MPG
我们将VCD转化成MPG文件的时候往往会借助一些媒体转换工具,其实你只要将VCD中DAT文件的扩展名改成“.mpg”就能实现VCD到MPG的转换了。
2.EXE改成COM预防病毒
可执行文件后缀常见的有EXE和COM,大多数软件的启动程序都是采用了EXE格式的文件,不过我们知道这种格式是很容易感染病毒的,如果把EXE文件的扩展名改成COM(很多病毒不支持COM的感染),执行程序还可以正常使用,同时能够起到一定预防病毒的目的。
3.打开无法解压的文件
许多软件的安装程序是采用WinRAR压缩生成的自解压文件,有时文件头损坏就会导致软件无法安装,这时可以将文件的扩展名由EXE改为RAR或ZIP,然后直接用WinRAR打开,将里面的文件解压再安装。
4.无法识别的文件让个人更安全
不少人喜欢用WinRAR压缩软件给文件压缩、加密,虽然密码是一道屏障,但如果给压缩文件改一个根本不存在的文件扩展名,如ABC,这样别人打开在你的系统中看到只是一个未知文件类型的文件,也不会有任何的关联程序与之相关联,当然也就无法窥探你的个人隐私了。
5.让文件和多个程序“牵手”
文本文件可以用多种不同的文本编辑器打开,如果将文本文件与多个应用程序建立了关联,在右键菜单中就会形成多个不同的打开该文档的程序选项,可以根据不同需要选择不同的打开方式。方法是打开“文件夹选项”,在“文件类型”选择TXT文本文档,依次单击“高级→新建”,打开“新操作”窗口,输入一个操作名和选择对应的编辑软件即可,如果添加多项,则重复上述操作即可。
何种情况下会出现未知文件
首先得搞清什么是已知文件?我们都知道,一个完整的文件名包括前缀和后缀两个部分,其中后缀也称为扩展名,通常由3或4个不同的字符组成,可以是数字、字母、符号等。你可以把文件的扩展名理解为是文件的“身份证”,不同的扩展名决定了不同文件类型和作用。
★并非所有文件都有后缀,Windows中就有很多没有后缀的文件,比如“%WINDIR%\system32\config”目录下的注册表数据库文件system、userdiff、sam等。
★在“资源管理器”中默认并不显示系统已知(即在注册表中有记录)的文件扩展名,可以选择菜单“工具→文件夹选项”,然后在“查看”选项卡中取消“隐藏已知文件类型的扩展名”,就能正常显示扩展名了,这样设置同时有助于防止伪装成图片的木马程序。
操作系统是怎么知道扩展名代表的文件类型的呢?Windows系统中还存在一种“文件关联”机制,没有被关联的文件,系统也是无法识别的。因此,一个Windows下的已知文件必须满足两个条件:文件有扩展名和扩展名已经被注册。如果你在电脑里发现了双击后无法打开的文件,那么可能有以下几种情况:
①文件没有扩展名,这可能是由于人为造成的,也可能是病毒所引起,当然也可能是该文件本来就没有后缀。
②如果文件有扩展名,则可能是相应的执行软件未安装,或扩展名并非文件最原始的后缀。
③文件关联失效,这个可能是文件后缀没有在注册表中正确关联,也可能是由于注册表中管理文件关联的分支被修改,通常是病毒或恶意程序所导致。
什么是文件关联呢?
文件关联包括关联文件的运行方式和关联文件图标两个方面。其中关联文件的运行方式,通俗地说就是选择不同类型的文件时,在其右键菜单上显示的各功能项,每个功能项即对应一个关联,选择了某一功能项(如“编辑”操作),系统就去执行相应的处理程序;而关联文件图标,其实就是在Windows下让不同的文件类型可以通过图标来区别。
揭开未知文件的真面目
如果没有扩展名或者扩展名被修改,我们怎么知道文件的真实类型呢?
1.查看文件留下的“标记”
很多种文件都会在文件开始处留下一个小小的“标记”,主要供打开这些文件的程序来确认和识别文件格式是否正确。同类型的文件在开始的“标记”都会遵循相同的规则,这种“标记”就是文件的特征码(Identifier Characters,也叫特征字符串),即用文件的前N个字节辨别文件类型。根据文件特征码我们就能识别未知的文件类型。
假设有两个ZIP文件(File0.zip和File1.zip),把其中File0.zip的扩展名去掉,另一个则不变,用支持十六进制的编辑器打开这两个文件(常见的有UltraEdit、WinHex等,本文以WinHex为例,下载地址:http://www.onlinedown.net/soft/1510.htm)。打开WinHex程序,点击“文件→打开”,选中File0点“确定”。在WinHex中便可看到文件十六进制代码和一大堆乱码,在乱码的开头为“PK”,这就是这个文件类型的特征码,对应的十六进制代码则为“504B”。同样,我们也在WinHex中打开File1.zip,即可发现这个文件也是以“PK”为开头,十六进制为“50 4B”。这就说明ZIP文件的特征码为“PK”,十六进制表示为“50 4B”(见图1)。
给大家总结了一下常见文件类型的特征码,只需查找表中的对应关系就能揭开文件的真面目了(见表1)。
由于特征码是通过十六进制编辑器来查看的,这个方法并不适用文本文件(如TXT、BAT、VBS、JS、HTML等),可以用“记事本”打开并通过文件内容来鉴别。
2.为陌生文件找个“归宿”
即使文件有扩展名,但如果系统中没有安装合适的软件,当然也无法打开它。而对于新手而言,识别成千上万的文件后缀是一件不可思议的事情……
实战1:用扩展名辞典给PDF找个合适的阅读器
安装并运行扩展名辞典(下载地址:http://www.onlinedown.net/soft/35676.htm),待数据库载入完毕后单击“开始使用”按钮。在“查询扩展名”处输入“pdf”,单击“查询”,这时就会显示出改扩展名的详细信息。在下方的“相关软件”中显示打开该扩展名的软件,单击“下载软件”进行搜索即可下载相关的软件。
实战2:在网上找出文件的打开程序
对于知道了文件后缀的文件,除了可通过软件查询外,还可在搜索引擎用后缀作为关键字进行搜索,当然你也可以到http://www.filext.com进行查询,这个网站提供了专业的文件后缀功能。查询方法很简单,只要把文件后缀输入网页左侧的对话框中,单击“Search”即可,在结果页面中可以看到该类型文件的运行程序、特征码(见图2)。
3.把“牵错手”的文件类型拉回来
当你双击一个REG文件时,通常情况下系统会询问你是否要将这个文件合并到注册表中,不过如果REG文件关联发生了变化,双击后却用记事本或其他文本软件打开了。那么,如何恢复文件的默认关联或者如何取消文件的错误关联呢?
方法一:右击目标文件,选择“打开方式→选择程序”,在弹出窗口列表中选择对应的程序(注册表文件则对应Regedit.exe)并勾选“始终使用选择的程序打开这种文件”,确认即可。
方法二:右击目标文件,选择“属性”,单击“常规”选项卡下的“更改”,选择对应的运行程序即可。
方法三:在“资源管理器”中选择菜单“工具→文件夹选项”,在“文件类型”选项卡的文件类型列表中选择“REG”项,单击“高级”,双击“操作”列表下的“合并”,然后将“用于执行操作的应用程序”设置为“regedit.exe "%1"”(不含外侧中文引号),确认设置后返回,单击“设置为默认值”,确认操作即可。
方法四:如果是被病毒或木马破坏的关联,可以使用System Repair Engineer(下载地址:http://www.kztechs.com/sreng/download.html)来修复。
如果EXE文件关联失效,可以这样修复:将regedit.exe改为regedit.com,双击运行,展开[HKEY_CLASSES_ ROOT\exefile\shell\open\command],将右侧窗口的“默认”键值设置为“"%1" %*”,然后定位到[HKEY_LOCAL_ MACHINE\Software\Microsoft\windowsNT\ currentVersion\winlogon],将右侧窗口“shell”的键值改为“explorer.exe”,关闭“注册表编辑器”即可。
未知文件还能干什么
1.VCD变MPG
我们将VCD转化成MPG文件的时候往往会借助一些媒体转换工具,其实你只要将VCD中DAT文件的扩展名改成“.mpg”就能实现VCD到MPG的转换了。
2.EXE改成COM预防病毒
可执行文件后缀常见的有EXE和COM,大多数软件的启动程序都是采用了EXE格式的文件,不过我们知道这种格式是很容易感染病毒的,如果把EXE文件的扩展名改成COM(很多病毒不支持COM的感染),执行程序还可以正常使用,同时能够起到一定预防病毒的目的。
3.打开无法解压的文件
许多软件的安装程序是采用WinRAR压缩生成的自解压文件,有时文件头损坏就会导致软件无法安装,这时可以将文件的扩展名由EXE改为RAR或ZIP,然后直接用WinRAR打开,将里面的文件解压再安装。
4.无法识别的文件让个人更安全
不少人喜欢用WinRAR压缩软件给文件压缩、加密,虽然密码是一道屏障,但如果给压缩文件改一个根本不存在的文件扩展名,如ABC,这样别人打开在你的系统中看到只是一个未知文件类型的文件,也不会有任何的关联程序与之相关联,当然也就无法窥探你的个人隐私了。
5.让文件和多个程序“牵手”
文本文件可以用多种不同的文本编辑器打开,如果将文本文件与多个应用程序建立了关联,在右键菜单中就会形成多个不同的打开该文档的程序选项,可以根据不同需要选择不同的打开方式。方法是打开“文件夹选项”,在“文件类型”选择TXT文本文档,依次单击“高级→新建”,打开“新操作”窗口,输入一个操作名和选择对应的编辑软件即可,如果添加多项,则重复上述操作即可。