发布网友 发布时间:2022-04-22 07:55
共2个回答
热心网友 时间:2022-06-18 03:24
C:\WINDOWS\hh.exe文件受损坏了,给你修复方法 第一种 问题的发生,是由于hhctrl.ocx的版本号出现错误或未正确注册。原因在于安装的其他软件用hhctrl.ocx的旧版本替换了原来的版本。IE6SP1中,这个文件的版本号应为5.2.3735.0。可以看看你的系统这个文件的版本号。位于winnt/system32这个文件夹。大小504K(英文版本)。你可以从其他相同的系统(IE版本也相同)中COPY一份粘贴到你的系统相应文件夹中。然后注册一下。 注意: 1、先替换winnt/system32/dllcache文件夹的这个文件,后替换winnt/system32文件夹里的这个文件; 2、如果看不到这个文件,先工具--文件夹选项中,设置显示隐藏文件,并设置显示系统文件; 3、注册的方法是 开始--运行,输入regsvr32 hhctrl.ocx之后出来一个注册成功的对话框,确定然后重启系统; 4、在WINNT下 双击hh.exe文件,没有出现打开界面; 另外:在WINDOWS安装了安全更新 6358 后,下载的CHM文件无法打开最简单的办法是,点击CHM文件的属性,发现“常规”栏下多出几行字:“安全:此文件来自其他计算机,可能被阻止以帮助保护计算机”点击旁边的解除锁定即可解决 第二种 下面是从网上摘抄的 在某些CHM文件中可能会使用到InfoTech协议,而它包含3种协议:ms-its 、its、mk:@msitstore 。利用这些协议,恶意攻击者或者恶意代码将可能导致帮助产生溢出漏洞,从而控制计算机。而MS最新公布的安全更新MS05-026 KB6358修正了这一情况,并屏蔽了远程链接,这就导致了使用了远程链接的一些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 我按照 安装 Windows Server 2003 Service Pack 1、MS05-026 或 MS04-023 后,无法使用某些采用 InfoTech 协议的 Web 应用程序 中所述,对客户端注册表作出如下修改,再次尝试执行那些CHM文件,成功了! [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions] "UrlAllowList"="\\\helpfiles\;file://\\\helpfiles" 需要提到一点的是,默认情况下,子健1.x 下可能并不存在 ItssRestrictions子健,您需要手动创建它,然后在其下创建字符串键值 UrlAllowList 。 关于此补丁及相关问题的描述,请参考如下KB: 安装Windows Server 2003 Service Pack 1、MS05-026 或 MS04-023 后,无法使用某些采用 InfoTech 协议的 Web 应用程序 MS05-026:HTML 帮助中的漏洞可能允许远程执行代码 安装安全更新 6358 后下载的 Compiled Help Mole 文件无法打开” 我的问题明显不是这个问题,原因是我自己的机器我知道,在能打开chm文件,到打开chm文件 无法显示页面这段中间的时间里面,我并没有更新,只是做了一些系统修改。 但是这篇文章还是对我有启发的,比如提到了InfoTech协议。以上说明结束。 虽然网上关于这方面的文章很多,你可以自己搜索看看,但是我当时没有搜索到能针对我的问题解决的方法, 于是决定自己进入测试。以下是测试方法:(问题很简单,主要是讲一下思路,金州注释) 1.把现在打开chm文件无法显示的状态,做一个系统还原点。 2.RegSnap抓一个快照。 3.导入以前备份的注册表。 结果chm文件打开和以前一样了,就是可以观看正常了。 金州总结为是注册表某些项目丢失原因引起的。 4.RegSnap再抓一个快照,比较一下。 发现项目太多(我备份的注册表比较早了,哈哈),无法详细判断。 这条路断了。 5.大约呆坐着十分钟之后,忽然想起InfoTech协议“ms-its”协议,这就是我搜索到的那篇文章 的启发了,哈哈,这个协议的执行文件是C:\WINDOWS\system32\itss.dll 6.查看这个dll还在。所以准备进行第二种推测,那就是它相关联的调用注册表丢失。 7。开始测试以上推断。搜索注册表有关itss.dll项目,这个比较多,不宜以列举 8.备份所有相关项目。 9.把系统还原到打不开chm时候的状态。 10。导入备份的itss.dll项目,结果可以观看chm文件了,问题解决。证明猜测正确,原因找到。 11.从新还原到打开chm无法显示状态。 12。逐一测试每一个每一个注册表项目,如此循环,直到找到确定关键是那几个注册表项目。 13.最后确定为两个关键项目。如下: 项目1. Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{9D148291-B9C8-11D0-A4CC-0000F80149F6}] @="Microsoft InfoTech Protocols for IE 4.0" [HKEY_CLASSES_ROOT\CLSID\{9D148291-B9C8-11D0-A4CC-0000F80149F6}\InprocServer32] @="C:\\WINDOWS\\System32\\itss.dll" "ThreadingModel"="Both" [HKEY_CLASSES_ROOT\CLSID\{9D148291-B9C8-11D0-A4CC-0000F80149F6}\NotInsertable] [HKEY_CLASSES_ROOT\CLSID\{9D148291-B9C8-11D0-A4CC-0000F80149F6}\VersionIndependentProgID] @="MSITFS" 项目2. Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\PROTOCOLS\Name-Space Handler\mk\*] "CLSID"="{9D148291-B9C8-11D0-A4CC-0000F80149F6}" 14.总结,问题确实是InfoTech协议注册表关联丢失问题
热心网友 时间:2022-06-18 03:25
chm文件打不开,提示"不能打开文件:mk@....."
是“regsvr32
/u
%windir%\system32\itss.dll”卸载了its协议,没有此协议chm帮助文件打不开,需要重新加载一下,命令如下:regsvr32
%windir%\system32\itss.dll
如果显示注册成功就行了!
有时候需要重复注册两次才能管用。