java jdk 8反編譯工具JD-GUI、procyon-decompiler、luyten、crf下載使用簡介


本文對常用的反編譯工具進行簡單介紹
JD-GUI、procyon-decompiler、luyten、crf
 

反編譯工具分類

JD-GUI

JDK7以及之前可以使用   JD-GUI,如果版本>=1.8 各種問題
http://java-decompiler.github.io
 

procyon-decompiler

如果版本>=1.8 ,可以使用 procyon-decompiler,不過是命令行界面
https://bitbucket.org/mstrobel/procyon/downloads/
 

luyten

luyten是Procyon的GUI,只需要下載luyten即可,不用下載Procyon 
https://github.com/deathmarine/Luyten
下載地址
https://github.com/deathmarine/Luyten/releases

crf

crf也可以支持更高版本
http://www.benf.org/other/cfr/
 
小結
如果你的版本<=7,都可以使用,如果版本更高,請使用除了JD-GUI以外的選擇

使用

JD-GUI

略,JD-GUI網上教程很多,不再介紹。
 

procyon-decompiler

可以直接解析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
image_5c983d44_7d56

luyten

luyten是圖形化界面
通過File直接打開class文件即可
image_5c983d44_52f9
當然,也可以進行文件保存等操作
image_5c983d44_7b3d
注意
直接打開luyten的時候,給出了下面的提示信息
image_5c983d44_58dd
但是,系統中的java環境是沒有問題的,也是一直在使用的,CMD下運行java或者javac命令都沒有問題
這是為什么?
據網上分析是因為使用了免安裝版本的JDK,簡單說不是從官網下載可執行程序一步一步安裝而來
這也就導致了注冊表中不存在JDK的信息
一種變通的途徑就是借助於命令,通過在命令提示符下面輸入  java -jar .\luyten-0.5.4.exe打開
(此時,我的文件存在於桌面上,所以使用的當前路徑)
image_5c983d44_6e6
如果設置到其他位置,請給出路徑,比如
image_5c983d44_97d
也可以進一步設置為bat命令
image_5c983d44_774f
文件就一行內容:
java -jar D:\ApplicationFiles\program\luyten-0.5.4.exe
再進一步可以創建一個快捷方式,使用下文的方式,就可以直接使用WIN鍵+R打開
另一種方法,就是手動設置注冊表
image_5c983d44_3a08
還有一種方法是重新安裝JDK,走一遍過程
建議通過命令java -jar就好了,改注冊表后續出現什么奇怪問題,自己可能都忘記了是自己改出來的
重新安裝麻煩費事

CFR

http://www.benf.org/other/cfr/
CFR更新還是蠻及時的
image_5c983d44_4687
 
image_5c983d44_777a
它的使用,與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
image_5c983d44_23fd
image_5c983d45_584c
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM