Vad är filformatet CHM?
.chm är en Microsoft Compiled HTML Help-fil - en Windows-hjälpmodul som används för att lagra hjälpdokument för applikationer och systemfunktioner. .chm-dokument är uppbyggda av HTML-källfiler, samma format som används för webbplatser, och kompileras till ett enda fristående binärt arkiv. På Windows öppnas .chm-filer nativt med hh.exe (HTML Help), som medföljer varje version av Windows sedan Windows 98. Dedikerade tredjepartsläsare som xCHM och SumatraPDF finns också tillgängliga.
Formatet använder Microsofts proprietära ITSF-container (Info-Tech Storage Format), identifierbar genom den fyrbyte långa filsignaturen ITSF vid offset 0. Inuti containern komprimeras HTML-ämnen, bilder, CSS och indextabeller med LZX-komprimering, vilket är anledningen till att filen visas som ett enda kompakt arkiv snarare än en mapp med lösa filer. Föregångaren till .chm var det äldre .HLP WinHelp-formatet, som det ersatte 1997.
Hjälpfiler innehåller programvarudokumentation. En typisk .chm-fil är uppdelad i avsnitt organiserade i en trädliknande struktur som täcker applikationsanvändning, funktioner och vanliga frågor. Eftersom .chm renderas via Internet Explorers MSHTML-motor kan filer som kopierats från en nätverksresurs eller laddats ner från internet visa tomma sidor - en Windows-säkerhetsrestriktion känd som «mark of the web»-blockering. Genom att avblockera filen via dess egenskapsdialogruta återställs normal visning.
.chm-filer är portabla och fristående: en enda fil innehåller alla ämnen, bilder och navigering. Även om formatet anses vara föråldrat - Microsofts nyare system använder .hxs eller dokumentation online - öppnas .chm-filer fortfarande korrekt på nuvarande Windows utan extra programvara.
Säkerhet & trygghet
RISK: MEDIUMCHM är en HTML-container som kan bädda in skript och shortcut/HTML-Help-kommandon, och den har en historik av missbruk för skadlig kod (skadliga CHM-filer som kör exekverbara filer, använda i nätfiskekampanjer) och sårbarheter i gamla visare. Öppna endast CHM-filer från pålitliga källor. Windows blockerar avsiktligt innehåll i CHM-filer som öppnas från internet/nätverk (varje sida visas som tom) via «mark of the web» - om du litar på filen, högerklicka > Egenskaper > Avblockera, eller flytta den till en lokal enhet. Hantera oväntade .chm-bilagor som vilken annan exekverbar bilaga som helst.
Formatdetaljer
i ett nötskalProgram som öppnar CHM-filer
Tekniska detaljer
djup specifikation| Containerformat | ITSF (Info-Tech Storage Format) - Microsofts proprietära sammansatta lagring med en intern ITSP-katalog som indexerar alla virtuella filer inuti arkivet |
| Magic bytes | 4-byte ASCII-signatur ITSF (hex 49 54 53 46) vid offset 0, omedelbart följt av ett little-endian DWORD-versionsfält (vanligtvis 03 00 00 00 för HTML Help 1.x) |
| Byteordning | Little-endian genom alla huvud- och katalogstrukturer |
| Komprimering | LZX-komprimering tillämpad på HTML-innehållssektionen; samma LZX-variant används även i Microsoft Cabinet (.cab)-filer |
| MIME-typ | application/vnd.ms-htmlhelp (registrerad); application/x-chm och application/octet-stream är också i utbredd användning |
| Intern struktur | ITSF-header + ITSP-katalog som listar virtuella filer; innehållssektionen innehåller HTML-ämnen, bilder, CSS, #SYSTEM/#STRINGS-metadatablock och #TOPICS/#URLTBL URL-indextabeller, alla LZX-komprimerade |
| Windows-visare | hh.exe (HTML Help-exekverbar fil) som använder ActiveX-kontrollen hhctrl.ocx, finns på alla Windows-versioner från Windows 98 och framåt; ingen separat installation krävs |
| Renderingsmotor | Internet Explorer MSHTML; HTML och CSS inuti en .chm renderas som IE skulle göra, vilket kan ge visningsfel i mycket gamla filer som förlitade sig på IE-specifikt beteende |
| Kryptering | Innehållet är LZX-komprimerat men inte krypterat; arkivet kan packas upp direkt med verktyg som 7-Zip eller kommandot hh.exe -decompile |
| Integritetskontroll | Ingen inbyggd CRC eller digital signatur; en korrupt .chm misslyckas helt enkelt att dekomprimeras eller visar inget innehåll, utan feldetaljer från visaren |
| Typisk filstorlek | Varierar från tiotals KB till cirka 100 MB; de flesta hjälpfiler för programvara ligger i intervallet 1-10 MB |
| Plattformssupport | Nativt på Windows via hh.exe; tredjepartsvisare på Linux (xCHM, KchmViewer, Calibre) och macOS (CHMOX, xCHM, Calibre) |
| Nätverkssäkerhetsbegränsning | Filer som öppnas från en nätverksresurs eller laddas ner från internet blockeras av Windows Mark of the Web-policy, vilket orsakar tomma ämnessidor; avblockering via filens egenskapsdialog återställer full åtkomst |
| ITSF-headerlayout | Version 3-header på 56 byte som innehåller en tidsstämpel för skapande, ett Windows LCID (språkkod) och två GUID:er som identifierar innehålls- och transformeringssektionerna |
| Släppt | 1997 (HTML Help 1.0, with Windows 98) |
| Senaste version | HTML Help 1.4 (ships with Windows; runtime hhctrl.ocx, no new versions since early 2000s) |
| Specifikation | www.nongnu.org |
CHM-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om CHM-filer.