2

我的 Windows 应用程序有一个 A.chm 文件,它按预期运行。当我使用 HTML Workshop 反编译它时,我得到了一组 html 文件、.hhc 文件、.hhk 文件。当我从这些提取的文件中编译另一个文件 B.chm 而不更改任何文件时。((我想在这个文件中添加更多的 html 内容,但看起来我在反编译后丢失了一些信息))我得到的输出文件是 72K原始文件是75K。B.chm 的内容在 chm 查看器中查看时看起来像所有文件,但在与应用程序一起使用时行为会丢失。

  1. 在阅读之后我发现如果 .hhp 可以从 .chm 文件中提取,那么它可以按原样重新构建而不会丢失任何映射或别名。真的吗?

  2. 如何从 .chm 文件中提取 .hhp 文件?

谢谢,山姆

4

1 回答 1

2

不,是,不。

  1. 无法保证提取原始hhp

  2. 但是,由于 chm 是存档类型,因此该项目可以将所有项目文件添加到存档中。如果是这样的话,我想你已经找到了它们。

  3. 如果反编译过程进行管理,它可以在一定程度上重新生成.hhp。

    注释和#define 名称可能会丢失,可能会丢失更多,但这不会在重新编译时导致问题。

但当然也可能是反编译器受到限制。您可以尝试其他一些(从“keytools”中搜索)。

如果没有,则使用“chmlib”并开始深入研究该格式。

于 2010-06-11T11:58:57.023 回答