Qu'est-ce que le format de fichier CHM ?
.chm est un fichier Microsoft Compiled HTML Help - un module d'aide Windows utilisé pour stocker des documents d'aide pour les applications et les fonctions système. Les documents .chm sont construits à partir de fichiers sources HTML, le même format utilisé pour les sites web, et compilés dans une archive binaire autonome unique. Sur Windows, les fichiers .chm s'ouvrent nativement avec hh.exe (HTML Help), qui est inclus dans chaque version de Windows depuis Windows 98. Des lecteurs tiers dédiés tels que xCHM et SumatraPDF sont également disponibles.
Le format utilise le conteneur propriétaire de Microsoft ITSF (Info-Tech Storage Format), identifiable par la signature de fichier de quatre octets ITSF à l'offset 0. À l'intérieur du conteneur, les rubriques HTML, les images, le CSS et les tables d'index sont compressés à l'aide de la compression LZX, c'est pourquoi le fichier apparaît comme une archive compacte unique plutôt que comme un dossier de fichiers séparés. Le prédécesseur du .chm était l'ancien format WinHelp .HLP, qu'il a remplacé en 1997.
Les fichiers d'aide contiennent la documentation du logiciel. Un fichier .chm typique est divisé en sections organisées selon une structure en arborescence, couvrant l'utilisation de l'application, les fonctionnalités et les questions fréquemment posées. Étant donné que le .chm est rendu via le moteur MSHTML d'Internet Explorer, les fichiers copiés depuis un partage réseau ou téléchargés sur Internet peuvent afficher des pages blanches - une restriction de sécurité Windows connue sous le nom de blocage « mark of the web ». Débloquer le fichier via sa boîte de dialogue Propriétés rétablit l'affichage normal.
Les fichiers .chm sont portables et autonomes : un seul fichier contient toutes les rubriques, les images et la navigation. Bien que le format soit considéré comme hérité - les systèmes plus récents de Microsoft utilisent le .hxs ou la documentation en ligne - les fichiers .chm s'ouvrent toujours correctement sur les versions actuelles de Windows sans logiciel supplémentaire.
Sécurité et sûreté
RISQUE : MEDIUMLe CHM est un conteneur HTML qui peut intégrer des scripts et des commandes de raccourci/HTML-Help, et il a un historique réel d'abus par des logiciels malveillants (CHM malveillants lançant des exécutables, utilisés dans des campagnes de phishing) et de vulnérabilités d'anciens visionneurs. N'ouvrez que des fichiers CHM provenant de sources fiables. Windows bloque délibérément le contenu des CHM ouverts depuis Internet/réseau (chaque page s'affiche vide) via le « mark of the web » - si vous avez confiance dans le fichier, clic droit > Propriétés > Débloquer, ou déplacez-le vers un lecteur local. Traitez les pièces jointes .chm inattendues comme n'importe quelle autre pièce jointe exécutable.
Détails du format
en brefProgrammes qui ouvrent les fichiers CHM
Détails techniques
spécifications approfondies| Format de conteneur | ITSF (Info-Tech Storage Format) - stockage composé propriétaire de Microsoft avec un répertoire interne ITSP qui indexe tous les fichiers virtuels à l'intérieur de l'archive |
| Octets magiques | Signature ASCII de 4 octets ITSF (hex 49 54 53 46) à l'offset 0, immédiatement suivie d'un champ de version DWORD en little-endian (généralement 03 00 00 00 pour HTML Help 1.x) |
| Ordre des octets | Little-endian dans toutes les structures d'en-tête et de répertoire |
| Compression | Compression LZX appliquée à la section de contenu HTML ; la même variante LZX est également utilisée dans les fichiers Microsoft Cabinet (.cab) |
| Type MIME | application/vnd.ms-htmlhelp (enregistré) ; application/x-chm et application/octet-stream sont également largement utilisés |
| Structure interne | En-tête ITSF + répertoire ITSP listant les fichiers virtuels ; la section de contenu contient les rubriques HTML, les images, le CSS, les blocs de métadonnées #SYSTEM/#STRINGS et les tables d'index d'URL #TOPICS/#URLTBL, tous compressés en LZX |
| Visionneur Windows | hh.exe (exécutable HTML Help) utilisant le contrôle ActiveX hhctrl.ocx, présent sur toutes les versions de Windows depuis Windows 98 ; aucune installation séparée requise |
| Moteur de rendu | Internet Explorer MSHTML ; le HTML et le CSS à l'intérieur d'un .chm sont rendus comme le ferait IE, ce qui peut produire des anomalies d'affichage dans les fichiers très anciens qui dépendaient de comportements spécifiques à IE |
| Chiffrement | Le contenu est compressé en LZX mais n'est pas chiffré ; l'archive peut être décompressée directement avec des outils tels que 7-Zip ou la commande hh.exe -decompile |
| Vérification d'intégrité | Pas de CRC ou de signature numérique intégrée ; un .chm corrompu échoue simplement à la décompression ou n'affiche aucun contenu, sans détail d'erreur de la part du visionneur |
| Taille de fichier typique | Varie de quelques dizaines de Ko à environ 100 Mo ; la plupart des fichiers d'aide logicielle se situent dans la plage de 1 à 10 Mo |
| Prise en charge des plateformes | Native sur Windows via hh.exe ; visionneurs tiers sur Linux (xCHM, KchmViewer, Calibre) et macOS (CHMOX, xCHM, Calibre) |
| Restriction de sécurité réseau | Les fichiers ouverts depuis un partage réseau ou téléchargés sur Internet sont bloqués par la politique Windows « Mark of the Web », provoquant des pages de rubriques vides ; le déblocage via la boîte de dialogue Propriétés du fichier restaure l'accès complet |
| Disposition de l'en-tête ITSF | En-tête de version 3 de 56 octets contenant un horodatage de création, un LCID Windows (code de langue) et deux GUID qui identifient les sections de contenu et de transformation |
| Publié | 1997 (HTML Help 1.0, with Windows 98) |
| Dernière version | HTML Help 1.4 (ships with Windows; runtime hhctrl.ocx, no new versions since early 2000s) |
| Spécification | www.nongnu.org |
Conversions CHM
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers CHM.