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

Просмотр CHM

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

upload_file

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

CHM

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

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

Просмотр XPS / OXPS

Просмотр XPS / OXPS

Откройте документы фиксированной вёрстки XPS и OXPS от Microsoft и читайте их постранично, без всяких компонентов Windows.

Извлечение CHM

Извлечение CHM

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

Просмотр MHTML / MHT

Просмотр MHTML / MHT

Откройте веб-страницу, сохранённую в одном файле MHT или MHTML, и посмотрите её вместе с собственными изображениями и стилями.

Инспектор файлов Publisher

Инспектор файлов Publisher

Прочитайте метаданные и извлеките встроенные изображения из файла .pub программы Microsoft Publisher без установленного Publisher.

Генератор поворотного стола 3D

Генератор поворотного стола 3D

Создайте вращающуюся анимацию поворотного стола из 3D-модели и сохраните её как анимированный GIF, WebM или MP4 — целиком в браузере.

Препресс-проверка PDF

Препресс-проверка PDF

Проверьте шрифты, разрешение изображений, цвет, боксы страницы, прозрачность и красконаполнение до отправки PDF в типографию.

Минификатор SQL

Минификатор SQL

Минифицирует SQL-запросы, удаляя комментарии и лишние пробелы.

apps

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

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

Что такое CHM на самом деле

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

Два из них здесь важны. #SYSTEM хранит заголовок справки и её тему по умолчанию — страницу, которую программа просмотра должна открыть первой. Без неё читателю остаётся гадать, а угадывание по алфавиту обычно приводит к таблице стилей. Файл .hhc — это дерево содержания, записанное как HTML-карта сайта из вложенных <UL> и <LI> с элементами <OBJECT type="text/sitemap"> внутри.

Настоящие .hhc печально известны своей некорректностью — незакрытые пункты списка повсюду, — поэтому они разбираются собственным HTML-парсером браузера, который восстанавливается после этого так же, как это делала оригинальная программа просмотра справки. XML-парсер просто отверг бы такой файл.

Чтение страницы

Стили и изображения каждой страницы разрешаются относительно её собственного пути внутри справки и заменяются байтами самого CHM. Ссылки между темами работают: страница показывается в iframe того же происхождения, но без allow-scripts, поэтому внутри ничего не может выполниться, а сам инструмент способен перехватить щелчок и перейти к нужной теме. Ссылка в открытый интернет не открывается, а внедрённая политика default-src 'none' не даст загрузить её даже случайно.

О сжатии — прямо

Инструмент сообщает, что использует файл: LZX с размером окна и числом блоков сброса, либо ничего, если всё лежит в хранимом разделе.

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

Поэтому, если страница не распаковывается, инструмент показывает конкретную ошибку и отказывается что-либо отрисовывать. Он не выводит восстановленные байты на экран. Мусор, похожий на страницу, хуже честной неудачи, потому что отличить их невозможно. Если настоящий файл справки здесь не открылся, об этом стоит сообщить — ошибка наша.

Ещё доступно

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

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

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