過調用Windows命令,將chm 文件轉換為html 文件。
方法:
命令行(cmd),輸入hh -decompile <輸出文件夾路徑> <要反編譯的CHM文件全路徑名>
例如:
win+r 鍵,彈出運行窗口輸入命令cmd回車,然后輸入:
Windows下chm轉換為html的超簡單方法(反編譯CHM文件的方法)
通過調用Windows命令,將chm 文件轉換為html 文件。
方法:
命令行(cmd),輸入hh -decompile <輸出文件夾路徑> <要反編譯的CHM文件全路徑名>
例如:
win+r 鍵,彈出運行窗口輸入命令cmd回車,然后輸入:
hh -decompile D:/chm/target D:/chm/VC++6DOC.chm
實例:
復制代碼
就會在目錄D:/chm/target 中生成相應的 html 文件。
好了,如果你只轉換一個chm,那就不用看下面的了,如果批量的話就看下面的。
如果有很多chm文件需要轉換,可以通過寫一個批處理bat文件:
Chm文件放在同一個目錄中。
例如如下的bat:
for %%c in (D:/chm/*.chm) do hh.exe -decompile D:/chm/%%c D:/chm/%%c.chm
將會把D:/chm目錄的所有chm文件都轉換到與chm文件名稱一樣的文件夾中去。
文對常用的反編譯工具進行簡單介紹
JD-GUI、procyon-decompiler、luyten、crf
JDK7以及之前可以使用 JD-GUI,如果版本>=1.8 各種問題
http://java-decompiler.github.io
如果版本>=1.8 ,可以使用 procyon-decompiler,不過是命令行界面
https://bitbucket.org/mstrobel/procyon/downloads/
luyten是Procyon的GUI,只需要下載luyten即可,不用下載Procyon
https://github.com/deathmarine/Luyten
下載地址
https://github.com/deathmarine/Luyten/releases
crf也可以支持更高版本
http://www.benf.org/other/cfr/
小結
如果你的版本<=7,都可以使用,如果版本更高,請使用除了JD-GUI以外的選擇
略,JD-GUI網上教程很多,不再介紹。
可以直接解析class文件到cmd窗口顯示
也可以將反編譯之后的文件保存到指定位置,如果需要保存在指定位置,需要增加 -o命令參數,并且需要指定保存的路徑
直接顯示:
java -jar D:\ApplicationFiles\program\procyon-decompiler-0.5.30.jar D:\ProgramData\ideaProjects\...\news\NewsController.class
保存文件:
java -jar D:\ApplicationFiles\program\procyon-decompiler-0.5.30.jar D:\ProgramData\ideaProjects\...\news\NewsController.class -o C:\Users\noteless\Desktop\dddddd
luyten是圖形化界面
通過File直接打開class文件即可
當然,也可以進行文件保存等操作
注意
直接打開luyten的時候,給出了下面的提示信息
但是,系統中的java環境是沒有問題的,也是一直在使用的,CMD下運行java或者javac命令都沒有問題
這是為什么?
據網上分析是因為使用了免安裝版本的JDK,簡單說不是從官網下載可執行程序一步一步安裝而來
這也就導致了注冊表中不存在JDK的信息
一種變通的途徑就是借助于命令,通過在命令提示符下面輸入 java -jar .\luyten-0.5.4.exe打開
(此時,我的文件存在于桌面上,所以使用的當前路徑)
如果設置到其他位置,請給出路徑,比如
也可以進一步設置為bat命令
文件就一行內容:
java -jar D:\ApplicationFiles\program\luyten-0.5.4.exe
再進一步可以創建一個快捷方式,使用下文的方式,就可以直接使用WIN鍵+R打開
https://www.cnblogs.com/noteless/p/10471005.html
另一種方法,就是手動設置注冊表
還有一種方法是重新安裝JDK,走一遍過程
建議通過命令java -jar就好了,改注冊表后續出現什么奇怪問題,自己可能都忘記了是自己改出來的
重新安裝麻煩費事
http://www.benf.org/other/cfr/
CFR更新還是蠻及時的
它的使用,與procyon-decompiler沒有區別
可以直接反編譯呈現在CMD中,也可以輸出到文件中
直接解析:
C:\Users\noteless>java -jar D:\ApplicationFiles\program\cfr-0.141.jar C:\Users\noteless\Desktop\NewsController.class
輸出文件:
java -jar D:\ApplicationFiles\program\cfr-0.141.jar C:\Users\noteless\Desktop\NewsController.class --outputdir C:\Users\noteless\Desktop\xxx
文章來源:https://www.cnblogs.com/noteless/p/10592362.html
*請認真填寫需求信息,我們會在24小時內與您取得聯系。