Блог технического писателя Ильи Жукова

5 способов декомпиляции CHM-файлов

CHM-файл не редактируется напрямую, это архив LZX. Часто возникают ситуации, когда исходного файла проекта нет, а CHM нужно обновить или перевести на иностранный язык. В этой статье я расскажу о пяти основных способах декомпиляции CHM-файлов, а также перечислю, какая информация теряется во время декомпиляции.

 

Для чего нужна декомпиляция

Декомпиляция CHM-файла может потребоваться, чтобы:

  1. отредактировать и обновить справку;
  2. перевести документацию на иностранный язык;
  3. преобразовать документацию в другие форматы;
  4. получить доступ к файлам из архива: рисункам, скриптам и т.д.
  5. посмотреть, как устроен CHM-файл (например, чтобы сделать такой же дизайн).

Пункты 1-3 подразумевают последующую сборку нового CHM-файла. Для этого потребуется создать или восстановить проект (файл .hhp). Несмотря на то, что формат HTML Help предусматривает возможность интеграции файла .hhp в CHM-файл, в раздел [FILES], исходный файл проекта в CHM, как правило, не включается. Подробное описание создания проекта смотрите в статье Создание и настройка проекта в HTML Help Workshop.

Пункты 4 и 5 подразумевают простое извлечение файлов. Поэтому способы декомпиляции перечислю по принципу «от простого к сложному».

 

 

Способы декомпиляции

CHM-файл можно декомпилировать при помощи следующих средств:

 

Какой способ мне подходит

1-й способ идеально подойдет вам, если нужно просто извлечь файлы из CHM, и вы не хотите устанавливать какой-либо дополнительный софт. Если у вас есть архиватор 7Zip, воспользуйтесь 2-м способом. Его основной минус: 7Zip также распакует все служебные файлы и папки из файла CHM. Для редактирования и сборки нового CHM-файла они не пригодятся.

3-й способ — использовать бесплатную программу KeyTools. Это единственное средство, позволяющее автоматически восстановить файл проекта .hhp. Путь к файлу с содержанием .hhc, а также путь к файлу с ключевыми словами .hhk все равно нужно будет указать вручную. Минус данного способа: KeyTools не позволяет собрать новый CHM-файл из исходных файлов — только пересобрать готовый CHM-файл, оптимизировав его размер.

4-й способ – использовать бесплатный набор средств FAR HTML. Основной минус данного способа: неочевидный пользовательский интерфейс в стиле Windows XP на английском языке + отсутствие документации. Основной плюс: широкий функционал и отсутствие глюков родного средства от Microsoft. Чтобы использовать FAR HTML, нужно быть глубоко «в теме». Для работы FAR HTML требуется программа HTML Help Workshop.

5-й способ: использовать бесплатную программу HTML Help Workshop от Microsoft.

4 и 5 способы подойдут, если нужно немного подправить содержимое.

Чтобы полноценно обновить документацию и собрать новый CHM-файл, рекомендуется импортировать CHM в визуальный редактор: HelpNDoc (бесплатный) или Help+Manual (платный). Подробную инструкцию о том, как импортировать данные из CHM-файла в новый проект Help and Manual, смотрите в статье Импорт CHM в Help and Manual.

 

 

1. Командная строка

В Windows по умолчанию есть средство просмотра и распаковки CHM-файлов — hh.exe. Запустите командную строку (Win+R -> cmd) и введите:

hh.exe –decompile <целевая_папка> <путь_к_файлу>\<имя_файла>.chm

Обратите внимание: путь к файлу и имя файла не должны содержать пробелов (с открытием CHM-файлов работает, с декомпиляцией – нет).

 

командная строка

Наверх к мини-содержанию

 

 

2. Архиватор 7Zip

  1. Запустите 7Zip File Manager.
  2. Найдите и выделите файл CHM, который нужно распаковать.
  3. На панели инструментов щелкните Извлечь, либо выберите Файл \ Распаковать.
  4. В окне Извлечь нажмите ОК.

По умолчанию файл CHM будет распакован в одноименную папку (название папки можно изменить).

 

архиватор 7zip

Наверх к мини-содержанию

 

 

3. Программа KeyTools

  1. Запустите KeyTools (Пуск \ Все программы \ HTML Help Workshop).
  2. Щелкните Decompile.
  3. Выберите CHM-файл и папку, в которую необходимо распаковать его содержимое.
  4. Чтобы восстановить файл проекта (.hhp), пометьте флажок Create a project file (if there isn’t one in the CHM/ITS file).
  5. Нажмите ОК.
  6. Закройте окно Results (в нем отображается информация о результатах распаковки). Нажмите Close.

 

программа KeyTools

Наверх к мини-содержанию

 

 

4. Программа FAR HTML

  1. Запустите FAR HTML.
  2. Выберите Authoring \ HH Utilities.

 

программа FAR HTML

 

  1. Щелкните File \ Open, найдите и выберите CHM-файл, который нужно декомпилировать. На вкладке File Contents отобразится содержимое CHM-файла.
  2. В меню выберите Decompile \ Extract all и выберите папку, в которую необходимо распаковать файл.

 

окно HH Utilities

 

  1. Нажмите ОК, чтобы закрыть окно с сообщением о распаковке файлов.

Наверх к мини-содержанию

 

 

5. Программа HTML Help Wordshop

Подробную пошаговую инструкцию по декомпиляции CHM-файлов смотрите в статье Декомпиляция CHM-файла.

Наверх к мини-содержанию

 

Что теряется во время декомпиляции

  • файлы alias.h и map.h из разделов [ALIAS] и [MAP] — данные о контекстных вызовах справки;
  • ключевые слова для макросов Alink и Klink (ключевые слова, добавленные автором в HTML-код разделов в тег OBJECT, не в файл .hhk; удаляются во время сборки исходного CHM-файла);
  • стоп-слова для полнотекстового поиска (файл .stp).

 

свойства прокта в HTML Help Wordshop

 

Дополнительную информацию о ключевых словах смотрите в статьях:

 

 

Добавить комментарий

Последние статьи

Вызов разделов CHM-справки…

Разделы CHM-справки представляют собой HTML-файлы, упакованные вместе с файлами рисунков и скриптов в единый CHM-файл. В этой статье я расскажу о формате вызова раздел...

Читать полностью...

Настройка окна справки в формате EWriter…

EWriter — это формат справки и электронных книг для Windows от разработчика Help+Manual, компании EC Software. Несмотря на то, что формат EWriter не так популярен, как...

Читать полностью...

Книга «Документирование программного обе…

Книга Татьяны Анатольевны Макаровских представляет собой реферативную подборку материалов, посвященных документированию программных средств. Данное учебное пособие адр...

Читать полностью...

Книга «Профессия технический писатель ил…

Если вы ничего не знаете ни о технических писателях, ни о технической документации, эта книга для вас! Книга Михайлова А.В. идеально подойдет студентам-технарям или ст...

Читать полностью...

Как вставить тесты в CHM и WebHelp…

Форматы электронной документации CHM, WebHelp и EWriter давно используются для создания и распространения электронных книг и учебников. Разработать такое учебное пособ...

Читать полностью...

Оформление рисунков в Help+Manual при по…

Рисунки в проекте Help and Manual можно единообразно оформить тремя способами. Во-первых, это можно сделать в графическом редакторе, например в Impict. Во-вторых, для ...

Читать полностью...

Подключение таблицы стилей к проекту Hel…

При работе с форматами, основанными на HTML, для оформления контента в документах можно использовать каскадные таблицы стилей, cascading style sheets или CSS. Данная т...

Читать полностью...

Формулы в HTML Help (CHM)

Я по образованию филолог. Специализируюсь на разработке пользовательской документации на английском и русском языках. С формулами в документации сталкиваюсь редко и по...

Читать полностью...

Импорт документов MS Word в Help+Manual…

Часто технический писатель получает исходные данные от аналитиков, разработчиков, тестировщиков, маркетологов и других специалистов в форматах DOC, DOCX и RTF (реже, и...

Читать полностью...

Поиск в WebHelp находит удаленные раздел…

Во время поддержки проекта справки со временем ряд разделов устаревает. Вы исключаете их из сборки, возможно, даже удаляете из проекта. Собираете выходную документацию...

Читать полностью...

Контекстная справка в приложениях Window…

Понятие контекстной или контекстно-зависимой справки (от англ. context-sensitive help) появилось в 1987 году с выходом формата WinHelp. Изначально контекстная справка ...

Читать полностью...

Как поддерживать скриншоты в актуальном …

Рисунки, схемы, скриншоты и другие изображения являются неотъемлемой частью любой пользовательской документации. Один скриншот с выносками может дать начинающему польз...

Читать полностью...

Книга «Разработка технической документац…

Уважаемые коллеги! Если вам нужно быстро освоить разработку документации по ГОСТ, рекомендую обратить внимание на книгу В.А. Глаголева «Разработка технической документ...

Читать полностью...

Перевод выходных документов в Help and M…

Выбрав русский язык и русскую кодировку в настройках проекта Help and Manual, многие авторы после первой сборки удивляются, увидев в выходных документах английские сло...

Читать полностью...

Размер и расположение окна CHM при перво…

Разработчик справки в формате CHM может задать размер и расположение окна, которые будут использоваться при первом запуске CHM-файла. После того, как пользователь пере...

Читать полностью...

Рваные края скриншотов в Help and Manual…

Многие платные редакторы скриншотов, например, SnagIt, FastStone Capture и др., умеют создавать эффект рваных краев. В сети Интернет можно найти множество видеоуроков ...

Читать полностью...

Все о справке и документации для пользователей!

Следить за новыми статьями:

© Илья Жуков, 2019-2025. Охраняется законом об авторском праве.