梦见和以前的领导吵架:解决CHM文件打开无法显示网页的问题

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 06:25:49
解决CHM文件打开无法显示网页的问题(2009-04-11 12:58:11) 标签:休闲 分类:我的电脑

【转载】解决CHM文件打开无法显示网页的问题
chm的设计者的初衷是用来做帮助文档,其本质是一堆html网页文件的组合。后来有了专门的编

译器、反编译器,人们发现chm这东西具有的html的特性,使其用来做电子书实在是又好又方便

,连html里面的脚本特效什么的都能保留下来。所以现在有很多资料采用这种格式。

1、系统将chm默认关联到“windows\hh.exe”,正常时双击即可打开。本文不涉及chm打不开

的情况,打不开的请参考http://zhidao.baidu.com/question/17011349.html?fr=qrl3

2、当chm文件的路径中含有“#”“%”等字符时,chm文件能够打开,但是却无法正常看到内容

,显示无法显示网页.
原因是:打开chm文件,相当于输入一条包含文件路径的命令行语句并执行。当路径中插入“#

”“%”等字符后,将使命令行的语义发生变化,导致无法正常使用chm,而此时系统又不会有

出错的提示,所以很多人被困扰了。解决办法:删除路径中的特殊字符。

3、安装微软的安全更新 896358 或 890175 后,该补丁对chm的itss协议做了限制。有的chm

使用了该协议,所以导致chm无法显示。

解决办法:可以修改注册表、修改安全级别、改itss.dll(这个是听说的);或者最简便的办

法:右键点chm—>选属性—>选解除锁定,ok!

如何解决下载的CHM文件无法显示网页问题 
问题症状:打开CHM文件,左边目录齐全,可右边边框里却是无法显示网页。

解决方法:
方法一:修改注册表
1)新建一个文本文件
2)添加如下内容:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000003
另存为HTMLHelp.reg(或其它名称,只要是reg格式就行)
3)双击刚刚新建的reg文件,将它导入注册表,OK,问题搞定
不过这种方法不安全,因为它将将浏览区域等级调整为3了,存在安全隐患,故不推荐。

方法二:查找目录名称是否有问题,目录名称中有 "#" 字符,去掉有 CHM 文件就显示正常了

方法三:有时候如果CHM是中文也会打不开,改成英文字符试验下。

方法四.:双击此 .chm 文件, 在“打开文件安全警告”对话框,单击以清除“打开此文件前

始终询问”复选框。

方法五: 右键单击该 CHM 文件,然后单击“属性”, 单击“解除锁定”,. 双击此 .chm

文件以打开此文件。

本人遇到的问题是部分CHM文件不能打开,利用方法五,顺利解决。

小知识: CHM 意为 Compiled HTML。以CHM为扩展名的文件图标通常为一个带问号的文档图标

,表示帮助文档,是 Microsoft 自 Windows 98 以来提供的一种帮助文档格式的文件,用于

替代 Windows 95 下的 HLP(Help) 文件。Microsoft 自 Windows 98 以来,操作系统中都自

带解释器(打开 CHM 文件的工具),即 Windows 安装目录下的 HH.EXE。CHM 文件可以通过官

方免费提供了 HTML Help Workshop 生成,它的源文件是 HTML 文件。现在网络上很多电子书

籍都被制作成 CHM 格式。
====================================================================

================================================================================

=====
方法 1
1. 双击此 .chm 文件。
2. 在“打开文件安全警告”对话框,单击以清除“打开此文件前始终询问”复选框。
3. 单击“打开”。

方法 2
1. 右键单击该 CHM 文件,然后单击“属性”。
2. 单击“取消阻止”。
3. 双击此 .chm 文件以打开此文件。


chm文件无法打开问题的解决


刚从家回来,重新安装了系统,发现原来可以正常打开的chm文件无法打开了,自己试着解决了

,发出来共享一下。

系统版本 xp sp2专业版本。
问题:chm文件打开无法显示

“CHM格式的文件无法显示,而且windows 2000上正常,windows xp上打开后显示无法找到页

面。

在某些CHM文件中可能会使用到InfoTech协议,而它包含3种协议:ms-its 、its、

mk:@msitstore 。利用这些协议,恶意攻击者或者恶意代码将可能导致帮助产生溢出漏洞,从

而控制计算机。而MS最新公布的安全更新MS05-026 KB896358修正了这一情况,并屏蔽了远程

链接,这就导致了使用了远程链接的一些CHM页面开启失败。趋势安全站点对此漏洞作出了如下

描述:

这个安全问题来自于早先公布的微软HTML Help漏洞。HTML Help是Windows平台上的标准帮助

系统。作者可以使用它为程序或者多媒体主题或者Web站点创建在线的帮助文件。
由于HTML Help并不会完全校验输入数据的特性,导致这一点可能被利用。一个特殊的CHM文件

可以导致帮助系统溢出,这个溢出如果被利用,就可以用于执行恶意代码。
这样的恶意CHM文件可以使用“ms-its”协议,通过IE开启。开启后的CHM文件不再需要用户的

参与,就能够自动执行恶意CHM文件和附随的代码。“ms-its”协议是InfoTech 协议的一部分

,该协议能够 为ITSS.DLL或者微软InfoTech Storage System Library所执行。当然,这些恶

意的程序无法靠自身传播,仍然需要用户在特定的位置,通过IE和“ms-its”协议访问恶意的

CHM文件。
这种情况一旦发生,如果受影响的用户当前登录身份是管理员,远程代码执行的漏洞可以允许

恶意用户或者恶意软件,获得受影响系统的完全控制权限。
从而这个恶意用户或者恶意程序得以在此系统上执行代码,并使用完全控制权限安装或者运行

程序,并能够察看或者编辑数据。因此,这个漏洞同样也能够被用于复制。

受影响的系统:

Microsoft Windows 2000 Service Pack 3
Microsoft Windows 2000 Service Pack 4
Microsoft Windows 98
Microsoft Windows 98 Second Edition
Microsoft Windows Millennium Edition
Microsoft Windows Server 2003
Microsoft Windows XP Service Pack 1
Microsoft Windows XP Service Pack 2
Microsoft Windows Server 2003 for Itanium-based Systems
Microsoft Windows XP -Bit Edition Service Pack 1 (Itanium)
Microsoft Windows XP -Bit Edition Version 2003 (Itanium)
Microsoft Windows XP Professional x Edition
Microsoft Windows Server 2003 Service Pack 1
Microsoft Windows Server 2003 with SP1 for Itanium-based Systems
Microsoft Windows Server 2003 x Edition

解决方法如下:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"UrlAllowList"="\\\helpfiles\;file://\\\helpfiles"

需要提到一点的是,默认情况下,子健1.x 下可能并不存在 ItssRestrictions子健,您需要

手动创建它,然后在其下创建字符串键值 UrlAllowList 。