2013-01-31 91 views
0

使用:如何反編譯CHM文件,包括項目文件

hh -decompile test sample.chm

我被反編譯CHM文件在test文件夾,用TOC和索引文件一起,但項目文件丟失,所以我不能重新創建CHM文件,而無需手動重新創建項目文件。

問題是它不是單一的CHM文件,所有這些CHM文件都是從源文件自動生成的,但定義字體的CSS使用了不幸的無襯線字體系列,在CHM渲染(IE)中看起來很醜,我的任務是糾正這個問題。

有人知道一個工具,可以從CHM中提取項目文件,所以我可以在一分鐘內完成這項工作嗎?

+1

我懷疑這個項目文件將被列入'.chm'。 – nneonneo

+0

嗯,項目文件被用來生成CHM文件,所以我希望它在反編譯的文件夾中。 – theta

+0

可能的[如何從chm文件中提取hhp文件]的副本(http://stackoverflow.com/questions/3015894/how-to-extract-hhp-file-from-a-chm-file) – Helen

回答

0

我做了快速批處理腳本來生成項目文件。

免責聲明:腳本假設TOC和索引文件共享相同的名稱,打開的頁面是index.html的

使用hhp.bat toc-base-name

@echo off 
echo [OPTIONS] > %1.hhp 
echo Binary TOC=No >> %1.hhp 
echo Binary Index=No >> %1.hhp 
echo Compiled file=%1.chm >> %1.hhp 
echo Contents file=%1.hhc >> %1.hhp 
echo Default Window=%1 >> %1.hhp 
echo Default topic=index.html >> %1.hhp 
echo Display compile progress=No >> %1.hhp 
echo Full text search stop list file=%1.stp >> %1.hhp 
echo Full-text search=Yes >> %1.hhp 
echo Index file=%1.hhk >> %1.hhp 
echo Language=0x409 >> %1.hhp 
echo Title=%1 documentation >> %1.hhp 
echo. >> %1.hhp 
echo [WINDOWS] >> %1.hhp 
echo %1="%1","%1.hhc","%1.hhk","index.html","index.html",,,,,0x63520,220,0x10384e,[0,0,1024,768],,,,,,,0 >> %1.hhp 
echo. >> %1.hhp 
echo [FILES] >> %1.hhp 
dir/b/s/a-d | findstr /vi ".hh .bat" >> %1.hhp 
+0

腳本是非常非常基本,甚至不會嘗試重建除生成文件列表的oneliner之外的hhp文件。 –

+0

恩,恩,我沒想到批處理腳本本身。但至少會保留上下文的東西,因爲許多應用程序都使用它。 –

+0

通過這個腳本不能保存什麼樣的上下文? – theta