Che cos'è il formato di file CHM?
.chm è un file Microsoft Compiled HTML Help - un modulo di aiuto di Windows utilizzato per memorizzare documenti di supporto per applicazioni e funzioni di sistema. I documenti .chm sono creati da file sorgente HTML, lo stesso formato usato per i siti web, e compilati in un unico archivio binario autonomo. Su Windows, i file .chm si aprono nativamente con hh.exe (HTML Help), incluso in ogni versione di Windows a partire da Windows 98. Sono disponibili anche lettori di terze parti dedicati come xCHM e SumatraPDF.
Il formato utilizza il contenitore proprietario Microsoft ITSF (Info-Tech Storage Format), identificabile dalla firma del file a quattro byte ITSF all'offset 0. All'interno del contenitore, gli argomenti HTML, le immagini, i CSS e le tabelle degli indici sono compressi utilizzando la compressione LZX, motivo per cui il file appare come un singolo archivio compatto anziché come una cartella di file sciolti. Il predecessore del .chm era il vecchio formato WinHelp .HLP, che ha sostituito nel 1997.
I file di aiuto contengono la documentazione del software. Un tipico file .chm è diviso in sezioni organizzate in una struttura ad albero, che coprono l'uso dell'applicazione, le funzionalità e le domande frequenti. Poiché il .chm viene renderizzato tramite il motore MSHTML di Internet Explorer, i file copiati da una condivisione di rete o scaricati da Internet potrebbero visualizzare pagine vuote - una restrizione di sicurezza di Windows nota come blocco «mark of the web». Sbloccare il file tramite la finestra di dialogo Proprietà ripristina la visualizzazione normale.
I file .chm sono portatili e autonomi: un singolo file trasporta tutti gli argomenti, le immagini e la navigazione. Sebbene il formato sia considerato legacy - i sistemi Microsoft più recenti utilizzano .hxs o la distribuzione di documentazione online - i file .chm si aprono ancora correttamente sulle versioni attuali di Windows senza software aggiuntivo.
Sicurezza e incolumità
RISCHIO: MEDIUMIl CHM è un contenitore HTML che può incorporare script e comandi shortcut/HTML-Help, e ha una storia reale di abusi da parte di malware (CHM malevoli che lanciano eseguibili, usati in campagne di phishing) e vulnerabilità dei vecchi visualizzatori. Apri i file CHM solo da fonti attendibili. Windows blocca deliberatamente il contenuto nei CHM aperti da Internet/rete (ogni pagina appare vuota) tramite il «mark of the web» - se ti fidi del file, tasto destro > Proprietà > Annulla blocco, o spostalo su un disco locale. Tratta gli allegati .chm inaspettati come qualsiasi altro allegato eseguibile.
Dettagli del formato
in sintesiProgrammi che aprono file CHM
Dettagli tecnici
specifiche approfondite| Formato contenitore | ITSF (Info-Tech Storage Format) - archiviazione composta proprietaria di Microsoft con una directory interna ITSP che indicizza tutti i file virtuali nell'archivio |
| Magic bytes | Firma ASCII a 4 byte ITSF (hex 49 54 53 46) all'offset 0, seguita immediatamente da un campo versione DWORD little-endian (tipicamente 03 00 00 00 per HTML Help 1.x) |
| Ordine dei byte | Little-endian in tutte le strutture dell'intestazione e della directory |
| Compressione | Compressione LZX applicata alla sezione del contenuto HTML; la stessa variante LZX è utilizzata anche nei file Microsoft Cabinet (.cab) |
| Tipo MIME | application/vnd.ms-htmlhelp (registrato); application/x-chm e application/octet-stream sono anch'essi ampiamente utilizzati |
| Struttura interna | Intestazione ITSF + elenco directory ITSP dei file virtuali; la sezione del contenuto contiene argomenti HTML, immagini, CSS, blocchi di metadati #SYSTEM/#STRINGS e tabelle di indici URL #TOPICS/#URLTBL, tutti compressi con LZX |
| Visualizzatore Windows | hh.exe (eseguibile HTML Help) che utilizza il controllo ActiveX hhctrl.ocx, presente su tutte le versioni di Windows da Windows 98 in poi; non è richiesta alcuna installazione separata |
| Motore di rendering | Internet Explorer MSHTML; l'HTML e il CSS all'interno di un .chm vengono renderizzati come farebbe IE, il che può produrre anomalie di visualizzazione in file molto vecchi basati su comportamenti specifici di IE |
| Crittografia | Il contenuto è compresso con LZX ma non crittografato; l'archivio può essere decompresso direttamente con strumenti come 7-Zip o il comando hh.exe -decompile |
| Controllo integrità | Nessun CRC o firma digitale integrata; un .chm corrotto semplicemente non riesce a decomprimersi o non visualizza alcun contenuto, senza dettagli sull'errore dal visualizzatore |
| Dimensione tipica del file | Varia da decine di KB a circa 100 MB; la maggior parte dei file di aiuto del software rientra nell'intervallo 1-10 MB |
| Supporto piattaforma | Nativo su Windows tramite hh.exe; visualizzatori di terze parti su Linux (xCHM, KchmViewer, Calibre) e macOS (CHMOX, xCHM, Calibre) |
| Restrizione di sicurezza di rete | I file aperti da una condivisione di rete o scaricati da Internet sono bloccati dalla policy Windows Mark of the Web, causando pagine vuote; lo sblocco tramite la finestra Proprietà del file ripristina l'accesso completo |
| Layout intestazione ITSF | Intestazione versione 3 di 56 byte contenente un timestamp di creazione, un LCID Windows (codice lingua) e due GUID che identificano le sezioni di contenuto e trasformazione |
| Rilasciato | 1997 (HTML Help 1.0, with Windows 98) |
| Ultima versione | HTML Help 1.4 (ships with Windows; runtime hhctrl.ocx, no new versions since early 2000s) |
| Specifica | www.nongnu.org |
Conversioni CHM
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file CHM.