¿Qué es el formato de archivo CHM?
.chm es un archivo Microsoft Compiled HTML Help, un módulo de ayuda de Windows utilizado para almacenar documentos de ayuda para aplicaciones y funciones del sistema. Los documentos .chm se crean a partir de archivos fuente HTML, el mismo formato utilizado para sitios web, y se compilan en un único archivo binario independiente. En Windows, los archivos .chm se abren de forma nativa con hh.exe (HTML Help), que se incluye en todas las versiones de Windows desde Windows 98. También existen lectores de terceros dedicados como xCHM y SumatraPDF.
El formato utiliza el contenedor propietario de Microsoft ITSF (Info-Tech Storage Format), identificable por la firma de archivo de cuatro bytes ITSF en el desplazamiento 0. Dentro del contenedor, los temas HTML, las imágenes, el CSS y las tablas de índice se comprimen mediante la compresión LZX, razón por la cual el archivo aparece como un único archivo compacto en lugar de una carpeta de archivos sueltos. El predecesor de .chm fue el antiguo formato .HLP WinHelp, al que reemplazó en 1997.
Los archivos de ayuda contienen documentación de software. Un archivo .chm típico se divide en secciones organizadas en una estructura de árbol, que cubren el uso de la aplicación, las funciones y las preguntas frecuentes. Debido a que .chm se renderiza a través del motor MSHTML de Internet Explorer, los archivos copiados desde una unidad de red o descargados de Internet pueden mostrar páginas en blanco, una restricción de seguridad de Windows conocida como el bloqueo «marca de la web». Desbloquear el archivo a través de su diálogo de Propiedades restaura la visualización normal.
Los archivos .chm son portátiles e independientes: un solo archivo contiene todos los temas, imágenes y navegación. Aunque el formato se considera heredado (los sistemas más nuevos de Microsoft utilizan .hxs o entrega de documentación en línea), los archivos .chm todavía se abren correctamente en el Windows actual sin software adicional.
Seguridad y protección
RIESGO: MEDIUMCHM es un contenedor HTML que puede incrustar scripts y comandos de acceso directo/HTML-Help, y tiene un historial real de abuso por malware (CHM maliciosos que lanzan ejecutables, utilizados en campañas de phishing) y vulnerabilidades de visores antiguos. Solo abra archivos CHM de fuentes confiables. Windows bloquea deliberadamente el contenido en los CHM abiertos desde Internet/red (cada página se muestra en blanco) a través de la «marca de la web»; si confía en el archivo, haga clic derecho > Propiedades > Desbloquear, o muévalo a una unidad local. Trate los archivos adjuntos .chm inesperados como cualquier otro archivo adjunto ejecutable.
Detalles del formato
en pocas palabrasProgramas que abren archivos CHM
Detalles técnicos
especificación profunda| Formato de contenedor | ITSF (Info-Tech Storage Format): almacenamiento compuesto propietario de Microsoft con un directorio ITSP interno que indexa todos los archivos virtuales dentro del archivo |
| Bytes mágicos | Firma ASCII de 4 bytes ITSF (hex 49 54 53 46) en el desplazamiento 0, seguida inmediatamente por un campo DWORD de versión en little-endian (típicamente 03 00 00 00 para HTML Help 1.x) |
| Orden de bytes | Little-endian en todas las estructuras de cabecera y directorio |
| Compresión | Compresión LZX aplicada a la sección de contenido HTML; la misma variante LZX se utiliza también en los archivos Microsoft Cabinet (.cab) |
| Tipo MIME | application/vnd.ms-htmlhelp (registrado); application/x-chm y application/octet-stream también de uso extendido |
| Estructura interna | Cabecera ITSF + directorio ITSP que enumera archivos virtuales; la sección de contenido contiene temas HTML, imágenes, CSS, bloques de metadatos #SYSTEM/#STRINGS y tablas de índice de URL #TOPICS/#URLTBL, todo comprimido con LZX |
| Visor de Windows | hh.exe (ejecutable de HTML Help) que utiliza el control ActiveX hhctrl.ocx, presente en todas las versiones de Windows desde Windows 98 en adelante; no requiere instalación por separado |
| Motor de renderizado | Internet Explorer MSHTML; el HTML y CSS dentro de un .chm se renderizan como lo haría IE, lo que puede producir anomalías de visualización en archivos muy antiguos que dependían de comportamientos específicos de IE |
| Cifrado | El contenido está comprimido con LZX pero no cifrado; el archivo se puede descomprimir directamente con herramientas como 7-Zip o el comando hh.exe -decompile |
| Comprobación de integridad | Sin CRC ni firma digital integrados; un .chm corrupto simplemente falla al descomprimirse o no muestra contenido, sin detalles de error por parte del visor |
| Tamaño de archivo típico | Varía desde decenas de KB hasta aproximadamente 100 MB; la mayoría de los archivos de ayuda de software se encuentran en el rango de 1-10 MB |
| Soporte de plataforma | Nativo en Windows a través de hh.exe; visores de terceros en Linux (xCHM, KchmViewer, Calibre) y macOS (CHMOX, xCHM, Calibre) |
| Restricción de seguridad de red | Los archivos abiertos desde una unidad de red o descargados de Internet son bloqueados por la política de Marca de la Web de Windows, lo que provoca páginas de temas en blanco; el desbloqueo a través del diálogo de Propiedades del archivo restaura el acceso completo |
| Diseño de cabecera ITSF | Cabecera de versión 3 de 56 bytes que contiene una marca de tiempo de creación, un LCID de Windows (código de idioma) y dos GUID que identifican las secciones de contenido y transformación |
| Lanzado | 1997 (HTML Help 1.0, with Windows 98) |
| Última versión | HTML Help 1.4 (ships with Windows; runtime hhctrl.ocx, no new versions since early 2000s) |
| Especificación | www.nongnu.org |
Conversiones de CHM
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos CHM.