18910140161

HTML-Microsoft CHM内容-如何查看它们?-堆栈溢出

顺晟科技

2022-10-19 12:02:26

78

我有一个。chm文件(来自7-zip,但我认为这不重要)。我提取了。chm的内容,得到了预期的。hhc、.hhk、.htm和。css文件。然而,我还得到了另外10个没有扩展名的文件,其中8个以散列开头(例如'#objinst'),两个以美元符号开头。在尝试用Atom或VSCode打开这些文件时,我会得到一堆随机字符(空正方形、带问号的三角形等),其中有些实际的单词到处都是,比如“HHA Version 4.74.8702”或“7zip.hhk”。

我试图解析这些文件,以便更多地了解。chm文件是如何工作的,我真的很想弄清楚这些无扩展文件是如何工作的/它们是如何融入图片的。我做过谷歌搜索,但没有弹出任何似乎相关的东西。它看起来像是有编码的东西,但Atom的编码选项都没有修复probelm.

你知道这是怎么回事吗?更具体地说,如何查看这些文件的内容(如果可以的话)?


顺晟科技:

您知道Windows HTML帮助是以lzx扩展名为.chm的压缩二进制文件形式传递的。它包含一组HTML文件、一个超链接的目录和一个索引文件。文件格式已经过反向工程处理,其文档可以免费获得,例如非官方(初步)HTML帮助规范。这是我所知道的最好的。

关于您的问题,您应该特别查看internal file formats部分。还请注意$fiftimain部分中的图像。

但是我想警告您处理这种内部文件格式会浪费时间。

该文件以字节“ITSF”(ASCII格式)开头,用于“信息技术存储格式”(请参见Microsoft的HTML帮助(.chm)格式文档)。可以使用FAR HTML打开CHM,如我对此SO线程的回答中所示(参见屏幕截图)从帮助ID获取CHM详细信息

有关更多反编译信息,请参阅decompile chm

Microsoft CHM帮助文件格式是一种专有的二进制格式,基本上是一种LZX存档,包括:

  • 主题内容为HTML或MHT文件
  • 附带的资产文件,如图像、CSS、JavaScript...
  • 各种与项目相关的文本文件(目录、主题ID...)
  • 一些我认为包含索引的二进制文件(如搜索引擎数据...)为了更快的操作

这些文件通常由Microsoft HTML帮助工作坊编译器直接或通过帮助创作工具(如helpndocRoboHelp...

Microsoft HTML Help Workshop软件可用于反编译CHM帮助文件。 支持LZX算法的解压软件(如7-ZIP)和帮助创作工具通常可用于从这些文件中提取内容。

据我所知,没有关于该格式的官方Microsoft文档,但它是由马修·T·鲁索托反向工程.

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航