Un CHM es una carpeta disfrazada
Dentro de un .chm hay un pequeño sitio web corriente: páginas HTML, una o dos hojas de estilo, algunas imágenes y un archivo de contenidos .hhc. El contenedor ITSS de Microsoft los guarda en un directorio de entradas repartidas entre una o dos secciones de contenido: la sección 0 tal cual y la sección 1 comprimida con LZX.
Esta herramienta lista cada entrada con su ruta, tamaño, sección y tipo, y las vuelve a escribir como ficheros reales. El ZIP conserva las rutas internas: /html/page1.htm se convierte en html/page1.htm, así que al descomprimir obtienes una carpeta navegable y no un montón de ficheros con nombres estropeados. Ese es justamente el sentido de extraer un archivo de ayuda: los enlaces entre páginas siguen funcionando después.
La maquinaria, si la quieres
Tras un interruptor, el listado muestra también los flujos ITSS que una extracción normal esconde: ::DataSpace/NameList, ::DataSpace/Storage/MSCompressed/ControlData, la tabla de reinicio de LZX, /#SYSTEM, /#STRINGS y los demás. Son el mecanismo del contenedor, y poder mirarlos es a veces exactamente lo que necesitas.
Las entradas que no se pueden recuperar se dicen
Si no se pueden producir los bytes de una entrada, esta no se escribe en el ZIP. Aparece en una lista de fallos con el error concreto.
La razón de esa firmeza: el decodificador LZX de este sitio se escribió a partir de la especificación [MS-PATCH] y del lzxd.c de libmspack, y aunque su lector de flujo de bits, su decodificación Huffman, sus bloques sin comprimir y su filtro x86 tienen pruebas unitarias, su decodificación de bloques verbatim y aligned nunca se ha ejecutado contra la salida del compresor de Microsoft: no existía ningún corpus offline con el que probarla.
Un fichero truncado o corrupto dentro de una extracción es peor que uno ausente, porque no descubrirías el problema hasta mucho después, cuando el fichero esté en otro sitio y el CHM ya no esté. Así que un fallo se informa como fallo.
También se muestra
El título del archivo de ayuda, su tema predeterminado, los nombres de sus ficheros de contenidos e índice, el compilador que lo generó y qué compresión usan las secciones de contenido. Para leer las páginas en vez de extraerlas, usa el Visor CHM.
Privacidad
El archivo de ayuda se abre y se descomprime en tu navegador. No se sube nada.
Tiny Online Tools







