Si alguien ha pensado alguna vez que los archivos CHM están protegidos de algún modo contra «ingeniería inversa» o «descompilación» está completamente equivocado. Extraer su contenido resulta muy sencillo.
Curiosamente, es el propio motor de ayuda HTML de Windows el que proporciona esta funcionalidad. No hay más que ejecutar lo siguiente en una línea de comandos:
hh -decompile <carpeta> <archivo CHM>
Donde <carpeta> es la carpeta de destino y <archivo CHM> especifica la ruta del archivo CHM a «descompilar». Podremos tratar los ficheros extraídos como queramos, pudiendo incluso generar un nuevo archivo CHM con ayuda de los ficheros .HHC (tabla de contenidos) y .HHK (índice), y las herramientas del HTML Help Workshop. El archivo CHM resultante, aun construido con los mismos componentes, no tiene por qué ser idéntico al original.
Referencias:
HTML Help 1.4 SDK: Using Command Line Switches
HTML Help 1.4 SDK: Decompiling a Help File
Interesante… Me hubiera venido bien saber esto cuando tuve que traducir un programa (y su ayuda) hace ya mucho tiempo… Gracias por la información, siempre puede ser útil.
Gracias por el comentario. 🙂
Realmente interesante para algunos programas que tienen la interfaz traducida pero no la ayuda.
Lo tendré en cuenta, muchas gracias
Genial, me ha sido muy util. Muy buen hack. Gracias