Co to jest format pliku CHM?
.chm to plik Microsoft Compiled HTML Help - moduł pomocy systemu Windows używany do przechowywania dokumentacji pomocy dla aplikacji i funkcji systemowych. Dokumenty .chm są budowane z plików źródłowych HTML, tego samego formatu, który jest używany w witrynach internetowych, i kompilowane w jedno samodzielne archiwum binarne. W systemie Windows pliki .chm otwierają się natywnie za pomocą hh.exe (HTML Help), który jest dostarczany z każdą wersją systemu Windows od czasu Windows 98. Dostępne są również dedykowane czytniki innych firm, takie jak xCHM i SumatraPDF.
Format ten wykorzystuje zastrzeżony kontener firmy Microsoft ITSF (Info-Tech Storage Format), rozpoznawalny po cztero-bajtowej sygnaturze pliku ITSF na przesunięciu 0. Wewnątrz kontenera tematy HTML, obrazy, style CSS i tabele indeksów są kompresowane przy użyciu kompresji LZX, dlatego plik pojawia się jako jedno kompaktowe archiwum, a nie folder z luźnymi plikami. Poprzednikiem .chm był starszy format WinHelp .HLP, który został zastąpiony w 1997 roku.
Pliki pomocy zawierają dokumentację oprogramowania. Typowy plik .chm jest podzielony na sekcje zorganizowane w strukturę drzewiastą, obejmującą obsługę aplikacji, funkcje i często zadawane pytania. Ponieważ .chm jest renderowany przez silnik MSHTML przeglądarki Internet Explorer, pliki skopiowane z udziału sieciowego lub pobrane z Internetu mogą wyświetlać puste strony - jest to ograniczenie bezpieczeństwa systemu Windows znane jako blokada „mark of the web”. Odblokowanie pliku za pomocą okna dialogowego Właściwości przywraca normalne wyświetlanie.
Pliki .chm są przenośne i samodzielne: jeden plik zawiera wszystkie tematy, obrazy i nawigację. Chociaż format ten jest uważany za przestarzały - nowsze systemy Microsoft używają .hxs lub dokumentacji online - pliki .chm nadal otwierają się poprawnie w obecnych wersjach systemu Windows bez dodatkowego oprogramowania.
Bezpieczeństwo
RYZYKO: MEDIUMCHM to kontener HTML, który może zawierać skrypty oraz skróty/polecenia HTML-Help. Ma on historię nadużyć przez złośliwe oprogramowanie (złośliwe pliki CHM uruchamiające pliki wykonywalne, używane w kampaniach phishingowych) oraz luki w starych przeglądarkach. Otwieraj pliki CHM tylko z zaufanych źródeł. Windows celowo blokuje zawartość w plikach CHM otwieranych z Internetu/sieci (każda strona jest pusta) poprzez mechanizm „mark of the web” - jeśli ufasz plikowi, kliknij prawym przyciskiem myszy > Właściwości > Odblokuj lub przenieś go na dysk lokalny. Traktuj nieoczekiwane załączniki .chm jak każdy inny załącznik wykonywalny.
Szczegóły formatu
w pigułceProgramy otwierające pliki CHM
Szczegóły techniczne
specyfikacja| Format kontenera | ITSF (Info-Tech Storage Format) - zastrzeżony format zapisu złożonego firmy Microsoft z wewnętrznym katalogiem ITSP, który indeksuje wszystkie wirtualne pliki wewnątrz archiwum |
| Magiczne bajty | 4-bajtowa sygnatura ASCII ITSF (hex 49 54 53 46) na przesunięciu 0, po której następuje pole wersji DWORD w formacie little-endian (zazwyczaj 03 00 00 00 dla HTML Help 1.x) |
| Kolejność bajtów | Little-endian we wszystkich strukturach nagłówka i katalogu |
| Kompresja | Kompresja LZX zastosowana do sekcji zawartości HTML; ten sam wariant LZX jest używany w plikach Microsoft Cabinet (.cab) |
| Typ MIME | application/vnd.ms-htmlhelp (zarejestrowany); application/x-chm i application/octet-stream są również w powszechnym użyciu |
| Struktura wewnętrzna | Nagłówek ITSF + katalog ITSP listujący wirtualne pliki; sekcja zawartości zawiera tematy HTML, obrazy, CSS, bloki metadanych #SYSTEM/#STRINGS oraz tabele indeksów URL #TOPICS/#URLTBL, wszystkie skompresowane LZX |
| Przeglądarka Windows | hh.exe (HTML Help executable) wykorzystujący kontrolkę ActiveX hhctrl.ocx, obecny we wszystkich wersjach Windows od Windows 98 wzwyż; nie wymaga oddzielnej instalacji |
| Silnik renderujący | Internet Explorer MSHTML; HTML i CSS wewnątrz pliku .chm są renderowane tak, jak zrobiłby to IE, co może powodować błędy wyświetlania w bardzo starych plikach opartych na specyficznych zachowaniach IE |
| Szyfrowanie | Zawartość jest skompresowana LZX, ale nie jest szyfrowana; archiwum można rozpakować bezpośrednio za pomocą narzędzi takich jak 7-Zip lub polecenia hh.exe -decompile |
| Sprawdzanie integralności | Brak wbudowanej sumy kontrolnej CRC lub podpisu cyfrowego; uszkodzony plik .chm po prostu nie daje się zdekompresować lub nie wyświetla zawartości, bez szczegółowych błędów z przeglądarki |
| Typowy rozmiar pliku | Od kilkunastu KB do około 100 MB; większość plików pomocy oprogramowania mieści się w zakresie 1-10 MB |
| Obsługa platform | Natywna w Windows przez hh.exe; czytniki innych firm na Linux (xCHM, KchmViewer, Calibre) i macOS (CHMOX, xCHM, Calibre) |
| Ograniczenie bezpieczeństwa sieciowego | Pliki otwierane z udziału sieciowego lub pobrane z Internetu są blokowane przez politykę Windows Mark of the Web, co powoduje wyświetlanie pustych stron tematów; odblokowanie przez okno Właściwości pliku przywraca pełny dostęp |
| Układ nagłówka ITSF | Nagłówek wersji 3 o rozmiarze 56 bajtów, zawierający znacznik czasu utworzenia, kod języka Windows LCID oraz dwa identyfikatory GUID identyfikujące sekcje zawartości i transformacji |
| Wydano | 1997 (HTML Help 1.0, with Windows 98) |
| Najnowsza wersja | HTML Help 1.4 (ships with Windows; runtime hhctrl.ocx, no new versions since early 2000s) |
| Specyfikacja | www.nongnu.org |
Konwersje CHM
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki CHM.