class反編譯軟體
『壹』 有沒有這樣的軟體: 用jd-gui可以反編譯class文件,但是不能修改。有可以反編譯並直接修改的么
jd-gui可以將看到的反編譯結果保存到一個zip壓縮包裡面,操作方法如下:
1、首先創建一個class文件,打開記事本。
『貳』 如何反編譯class文件,簡單快速
反編譯工具jad簡單用法
以下假設jad.exe在c:\java目錄下
一、基本用法
Usage:jad [option(s)]
直接輸入類文件名,且支持通配符,如下所示。
c:\java\>jad example1.class
c:\java\>jad *.class
結果是將example1.class反編譯為example1.jad。將example1.jad改為example1.java即得源文件。
二、Option -o
不提示,覆蓋源文件
三、Option -s
c:\java\>jad -sjava example1.class
反編譯結果以.java為擴展名。
四、Option -p
將反編譯結果輸出到屏幕
c:\java\>jad -p example1.class
將反編譯結果重定向到文件
c:\java\>jad -p example1.class>example1.java
五、Option -d
指定反編譯的輸出文件目錄
c:\java\>jad -o -dtest -sjava *.class
『叄』 反編譯軟體有哪些java反編譯最好的工具
本文對常用的反編譯工具進行簡單介紹
JD-GUI、procyon-decompiler、luyten、crf
反編譯工具分類JD-GUI
JDK7以及之前可以使用 JD-GUI,如果版本>=1.8 各種問題
procyon-decompiler
如果版本>=1.8 ,可以使用 procyon-decompiler,不過是命令行界面
luyten
luyten是Procyon的GUI,只需要下載luyten即可,不用下載Procyon
https://github.com/deathmarine/Luyten
下載地址
crf
crf也可以支持更高版本
小結
如果你的版本<=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\ddddddluytenluyten是圖形化界面
通過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就好了,改注冊表後續出現什麼奇怪問題,自己可能都忘記了是自己改出來的
重新安裝麻煩費事
CFR
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
『肆』 java開發class反編譯
對於Java開發中需要對class文件進行反編譯的需求,IDEA工具提供了一種便捷的方法。首先,你需要將待反編譯的jar文件整理到一個指定的文件夾中,然後在IDEA中打開這個文件夾。接下來,選擇相應的jar包,將其添加為庫項目(Add as Library),這樣你就可以在IDEA的環境中進行反編譯操作,方便查看源代碼。
另一種選擇是使用jd-gui,這是一種專門用於反編譯Java class文件的獨立工具。你可以從官方網站下載jd-gui包進行安裝。jd-gui的優勢在於它的全局搜索功能,這在查找特定代碼段時非常有用。兩種工具結合使用,一個專注於代碼閱讀的直觀性,另一個則側重於搜索的高效性,可以滿足不同的反編譯需求。