Tiny Online Tools logoTiny Online ToolssearchПоиск инструментов…grid_viewВсе инструменты
Главнаяchevron_rightИнструменты для документовchevron_rightИзвлечение CHMИзвлечение CHM

Извлечение CHM

Распакуйте файл скомпилированной HTML-справки на страницы, стили и картинки — архивом ZIP, сохраняющим исходную структуру папок.

upload_file

Нажмите для выбора или перетащите файлы сюда

CHM

Допустимо: .chm

Похожие инструменты

Просмотр CHM

Просмотр CHM

Откройте старый файл скомпилированной HTML-справки Microsoft, пройдите по дереву содержания и читайте страницы в браузере.

Извлечение MHTML

Извлечение MHTML

Разберите архив MHT на HTML, изображения, стили и ресурсы и скачайте его папкой, которая по-прежнему открывается в браузере.

Извлечение ресурсов PPTX

Извлечение ресурсов PPTX

Извлеките исходные изображения, видео, звук и встроенные шрифты из презентации PowerPoint вместе со слайдами, где они используются.

Экстрактор 3D-ассетов

Экстрактор 3D-ассетов

Извлеките все текстуры, сетки, материалы и анимации из файла GLB или GLTF в один ZIP.

сортировать строки Alphabetically

сортировать строки Alphabetically

сортировать текст строки alphabetically.

Конвертер даты ISO

Конвертер даты ISO

Мгновенно преобразуйте любую дату в ISO 8601, UTC, местное время, только дату, только время и день недели.

Объединить CSV

Объединить CSV

Объединяйте несколько CSV-файлов путем объединения строк или соединения по ключевому столбцу.

apps

Больше инструментов

Просмотрите нашу полную коллекцию бесплатных онлайн-инструментов.

CHM — это переодетая папка

Внутри .chm лежит совершенно обычный маленький сайт: HTML-страницы, одна-две таблицы стилей, несколько картинок и файл содержания .hhc. Контейнер ITSS от Microsoft держит их в каталоге записей, разложенных по одному или двум разделам содержимого — раздел 0 как есть, раздел 1 сжат алгоритмом LZX.

Этот инструмент перечисляет каждую запись с путём, размером, разделом и типом и записывает их обратно настоящими файлами. Архив сохраняет внутренние пути: /html/page1.htm становится html/page1.htm, поэтому после распаковки получается папка, по которой можно ходить, а не куча файлов с искалеченными именами. Ради этого справку и извлекают: ссылки между страницами после этого продолжают работать.

Механика, если она нужна

За переключателем список показывает и те потоки ITSS, которые обычная распаковка прячет: ::DataSpace/NameList, ::DataSpace/Storage/MSCompressed/ControlData, таблицу сброса LZX, /#SYSTEM, /#STRINGS и прочие. Это и есть устройство контейнера, и возможность в него заглянуть иногда оказывается именно тем, что нужно.

О записях, которые не удалось восстановить, сказано прямо

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

Причина такой твёрдости: декодер LZX на этом сайте написан по спецификации [MS-PATCH] и по lzxd.c из libmspack, и хотя его чтение битового потока, декодирование Хаффмана, несжатые блоки и фильтр x86 покрыты модульными тестами, декодирование блоков verbatim и aligned ни разу не запускалось на выводе компрессора самой Microsoft — офлайн-корпуса для проверки не было.

Обрезанный или испорченный файл внутри извлечения хуже отсутствующего: проблема обнаружится намного позже, когда файл уже где-то в другом месте, а CHM исчез. Поэтому неудача сообщается как неудача.

Также показано

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

Конфиденциальность

Файл справки открывается и распаковывается в браузере. Ничего не загружается на сервер.