O que é o formato de ficheiro CHM?
.chm é um arquivo Microsoft Compiled HTML Help - um módulo de Ajuda do Windows usado para armazenar documentos de ajuda para aplicativos e funções do sistema. Documentos .chm são construídos a partir de arquivos fonte HTML, o mesmo formato usado para sites, e compilados em um único arquivo binário independente. No Windows, arquivos .chm abrem nativamente com o hh.exe (HTML Help), que acompanha todas as versões do Windows desde o Windows 98. Leitores de terceiros dedicados, como xCHM e SumatraPDF, também estão disponíveis.
O formato utiliza o contêiner proprietário da Microsoft ITSF (Info-Tech Storage Format), identificável pela assinatura de arquivo de quatro bytes ITSF no deslocamento 0. Dentro do contêiner, tópicos HTML, imagens, CSS e tabelas de índice são compactados usando a compressão LZX, razão pela qual o arquivo aparece como um único arquivo compacto em vez de uma pasta de arquivos soltos. O predecessor do .chm foi o antigo formato WinHelp .HLP, que ele substituiu em 1997.
Arquivos de ajuda contêm documentação de software. Um arquivo .chm típico é dividido em seções organizadas em uma estrutura de árvore, cobrindo o uso do aplicativo, recursos e perguntas frequentes. Como o .chm é renderizado através do motor MSHTML do Internet Explorer, arquivos copiados de um compartilhamento de rede ou baixados da internet podem exibir páginas em branco - uma restrição de segurança do Windows conhecida como bloqueio «mark of the web». Desbloquear o arquivo através do diálogo de Propriedades restaura a exibição normal.
Arquivos .chm são portáteis e independentes: um único arquivo carrega todos os tópicos, imagens e navegação. Embora o formato seja considerado legado - os sistemas mais novos da Microsoft usam .hxs ou entrega de documentação online - arquivos .chm ainda abrem corretamente no Windows atual sem software adicional.
Segurança e proteção
RISCO: MEDIUMCHM é um contêiner HTML que pode incorporar scripts e comandos de atalho/HTML-Help, e possui um histórico real de abuso por malware (CHMs maliciosos que lançam executáveis, usados em campanhas de phishing) e vulnerabilidades em visualizadores antigos. Abra apenas arquivos CHM de fontes confiáveis. O Windows bloqueia deliberadamente o conteúdo em CHMs abertos da Internet/rede (cada página aparece em branco) via «mark of the web» - se você confia no arquivo, clique com o botão direito > Propriedades > Desbloquear, ou mova-o para uma unidade local. Trate anexos .chm inesperados como qualquer outro anexo executável.
Detalhes do formato
em resumoProgramas que abrem arquivos CHM
Detalhes técnicos
especificação profunda| Formato de contêiner | ITSF (Info-Tech Storage Format) - armazenamento composto proprietário da Microsoft com um diretório ITSP interno que indexa todos os arquivos virtuais dentro do arquivo |
| Magic bytes | Assinatura ASCII de 4 bytes ITSF (hex 49 54 53 46) no deslocamento 0, seguida imediatamente por um campo de versão DWORD little-endian (tipicamente 03 00 00 00 para HTML Help 1.x) |
| Ordem dos bytes | Little-endian em todas as estruturas de cabeçalho e diretório |
| Compressão | Compressão LZX aplicada à seção de conteúdo HTML; a mesma variante LZX também é usada em arquivos Microsoft Cabinet (.cab) |
| Tipo MIME | application/vnd.ms-htmlhelp (registrado); application/x-chm e application/octet-stream também em uso generalizado |
| Estrutura interna | Cabeçalho ITSF + diretório ITSP listando arquivos virtuais; a seção de conteúdo contém tópicos HTML, imagens, CSS, blocos de metadados #SYSTEM/#STRINGS e tabelas de índice de URL #TOPICS/#URLTBL, todos compactados em LZX |
| Visualizador Windows | hh.exe (executável HTML Help) usando o controle ActiveX hhctrl.ocx, presente em todas as versões do Windows a partir do Windows 98; nenhuma instalação separada é necessária |
| Motor de renderização | Internet Explorer MSHTML; HTML e CSS dentro de um .chm são renderizados como o IE faria, o que pode produzir peculiaridades de exibição em arquivos muito antigos que dependiam de comportamentos específicos do IE |
| Criptografia | O conteúdo é compactado em LZX, mas não criptografado; o arquivo pode ser descompactado diretamente com ferramentas como 7-Zip ou o comando hh.exe -decompile |
| Verificação de integridade | Sem CRC integrado ou assinatura digital; um .chm corrompido simplesmente falha ao descompactar ou não exibe conteúdo, sem detalhes de erro do visualizador |
| Tamanho de arquivo típico | Varia de dezenas de KB a aproximadamente 100 MB; a maioria dos arquivos de ajuda de software fica na faixa de 1-10 MB |
| Suporte de plataforma | Nativo no Windows via hh.exe; visualizadores de terceiros no Linux (xCHM, KchmViewer, Calibre) e macOS (CHMOX, xCHM, Calibre) |
| Restrição de segurança de rede | Arquivos abertos de um compartilhamento de rede ou baixados da internet são bloqueados pela política Mark of the Web do Windows, causando páginas de tópicos em branco; o desbloqueio via diálogo de Propriedades do arquivo restaura o acesso total |
| Layout do cabeçalho ITSF | Cabeçalho da versão 3 de 56 bytes contendo um carimbo de data/hora de criação, um LCID do Windows (código de idioma) e dois GUIDs que identificam as seções de conteúdo e transformação |
| Lançado | 1997 (HTML Help 1.0, with Windows 98) |
| Versão mais recente | HTML Help 1.4 (ships with Windows; runtime hhctrl.ocx, no new versions since early 2000s) |
| Especificação | www.nongnu.org |
Conversões de CHM
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos CHM.