jad反編譯教程
A. 在命令行下,如何使用JAD反編譯jar文件 轉
操作方法如下:
1)首先使用jar命令將jar文件解壓縮到classes目錄(假設已經設置好了CLASSPATH等,jar.exe是放在jdk的bin目錄下的)
CMD>jar -xvf test.jar -C classes
2)然後使用jad命令對上面產生的classes目錄進行反編譯
CMD>[jad_home]/jad.exe -r -ff -d src -sjavaclasses/**/*.class
含義如下:
其中-r 表示恢復源文件的目錄結構,,-ff 表示將類屬性定義放在類方法定義之前, -d 表示輸出目錄,-s 表示文件的擴展名。
所有的java文件將會被放置到src目錄下。
B. 如何將java中的.class文件反編譯
可以使用jad:反編譯工具
可以將class文件反編譯成java文件
假設將jad.exe安裝在f:/java/jad目錄下
把要反編譯的文件*.class復制到此目錄下,接著接以下步驟,
在命令行窗口環境中進入jad目錄,
然後運行:jad -s java *.class (附,*.class指要反編譯的文件名)
如果*.class文件和jad程序不在同一個目錄,就要用到path環境變數,
將jad 所在目錄加到path路徑中即可:set path=%path%;f:/java/jad
若要了解jad更為詳細的使用幫助信息,直接運行jad.exe查看
C. 如何反編譯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
D. 如何將java的class反編譯為.j文本文件又如何將.j文件重新編譯
網上有很多的反編譯工具,基本都是簡單的視圖界面形式。你只要選擇對應的class文件的路徑,點反編譯即可。想重新編譯.java文件,如果是單個文件的話,開始--》運行--》cmd--》進入dos命令行,輸入javac 要編譯的文件名即可。如果要編譯整個項目的話,就要藉助TOMCAT,WEBLOGIC等應用伺服器軟體了,或者用myeclipse也能自動編譯的。
E. jad反編譯工具怎麼用
下好以後解壓就可以用了,軟體就只有一個exe文件和一個幫助文件,為了方便使用,我直接將exe文件放到JDK的bin目錄里了:)
下面先來看看從網上搜集來的介紹:在眾多的JAVA反編譯工具中,有幾種非常著名的工具使用了相同的核心引擎——JAD,其中主要包括:Front
End Plus、mDeJava、Decafe Pro、Cavaj Java Decompiler、DJ Java
Decompiler、NMI』s Java Class Viewer和國產的JAVA源代碼反編譯專家。
JAD本身是一個命令行工具,沒有圖形界面,上述的這些工具大多是在JAD內核的基礎之上加了一個圖形界面而已。這么多種產品的共同選擇,足可證明JAD
在JAVA反編譯領域中的尊貴地位。 JAD是使用Microsoft Visual
C++開發的,運行速度非常快,可以處理很復雜的JAVA編譯文件。眾多的參數使JAD可以靈活應付多種加密手段,令反編譯的代碼更加優化和易讀。由於
JAD參數太多,沒必要一一解釋,其中有幾個最常用的如下:
-d - 用於指定輸出文件的目錄
-s - 輸出文件擴展名(默認為: .jad),通常都會把輸出文件擴展名直接指定為.java,以方便修改的重新編譯。
-8 - 將Unicode字元轉換為ANSI字元串,如果輸出字元串是中文的話一定要加上這個參數才能正確顯示。
最常用的反編譯指令如下所示:
Jad -d c:\test -s .java -8 HelloWorld.class
這將當前目錄下的HelloWorld.class反編譯為HelloWorld.java並保存在c:\test目錄里,其中的提示輸出為中文,
而不是Unicode代碼。
附件:對下載後的說明文檔的簡單翻譯,希望對你有所幫助(mathsfan修改於2006.10.29,翻譯的不好請見諒)0、1略去2、怎樣使用JAD
反編譯一個簡單的java class文件'example1.class'用如下命令: jad example1.class
這個命令將在當前目錄下創建一個'example1.jad'文件,假如當前目錄下存在這個文件,則JAD會提示你覆蓋它與否。選項
-o 允許覆蓋時沒有任何提示。選項 -s 允許改變輸出文件的後綴名: jad -sjava example1.class
這個命令將要創建'example1.java'文件。在一起使用-o 和
-sjava選項時請小心,因為JAD會附帶的重寫你的源文件。JAD使用JAVA
class的名字作為輸出文件的名字。例如,假如class文件'example1.class'包含JAVA class
'test1'那麼JAD將會創建文件'test1.jad'而不是'example1.jad'。假如你想具體指明你的輸出文件的名字使用輸出重命名:
jad -p example1.class > myexm1.java
選項 –d允許你具體指明另外的輸出文件目錄,不管這個目錄是新建的、默認的或者當前目錄。例如:
jad -o -dtest -sjava *.class
(或者 jad -o -d test -s java *.class, 這個有同樣的效果)
這個命令將在當前目錄下反編譯所有的.class文件並在'test'文件夾下建立所有擴展名為.java的輸出文件。
假如你想反編譯整個目錄樹下的JAVA classes,使用如下命令:
jad -o -r -sjava -dsrc tree/**/*.class
這個命令將反編譯當前目錄樹里所有的.class文件並且在當前目錄下建立src文件夾後根據包的名字來輸出文件。例如,假如有一個文件
'tree/a/b/c.class'在包'a.b'下包含了class 'c',那麼輸出文件的名字為'src/a/b/c.java'。
在先前的命令上將通配符那裡注釋掉。則它是用JAD來處理而不是command殼,所以在UNIX上的最後一次參數將會被單獨引用。
jad -o -r -sjava -dsrc 'tree/**/*.class'
你想檢查編譯後的文件的正確性或者出於好奇的情況下,這里有一個選項 –a 將會告訴JAD給輸出的JAVA虛擬位元組碼註解。
F. 如何安裝設置eclipse反編譯插件jad
方法步驟:
1將 (net.sf.jadclipse_3.3.0.jar)文件放入 ..\eclipse\dropins目錄下
2將 (jad.exe)文件放入 ..\jdk\bin目錄下 (其他class path 路徑也行)
3重啟eclipse --> Window -->Preferences-->搜索 jad
4搜索的到說明安裝成功
5配置jadClipse Path to decompiler: 為jad.exe 文件的位置
記得點 apply
5.1. Window -->Preferences-->搜索 file Associatio
5.2.修改 *.class 的默認打開方式
5.3.修改 *.class without source
*.class without source 版本不同 有些是沒有的 有選上
6重啟eclipse
G. 請教ubuntu下eclipse如何配置JAD進行反編譯
我是在Ubuntu中使用Eclipe helios,即eclipse 3.6,參考了這篇文章http://www.blogjava.net/hongjunli/archive/2007/08/15/137054.html安裝jodeclipse不成功,打開class文件,報錯「the editor』s class name was mistyped in plugin.xml.」,可能是因為jodeclipse不支持新版本的eclipse吧,於是考慮安裝jadclipse,jadclipse是在一個非常不錯的Java反編譯工具,之前寫過一篇博客介紹《Java反編譯工具Jad詳解》,這個作為續篇,介紹如何在Eclipse裡面使用jad。
首先,還是到http://www.varaneckas.com/jad下載jad,為了給開源做點貢獻,我也把windows和linux的兩個版本下來,做個備份:
1. Jad 1.5.8g for Windows 9x/NT/2000 on Intel platform
2. Jad 1.5.8e for Linux (statically linked)
以下以ubuntu為例,把下載後的jad解壓到/opt/jad目錄,我的eclipse安裝在/opt/eclipse目錄。cd到/opt/jad目錄,執行./jad,輸出版本和幫助信息就OK說明jad本身沒有問題了。
到http://sourceforge.net/projects/jadclipse/下載jadeclipse,當前版本為3.3.0版本,支持eclipse3.3以上,下載後就是一個jar文件,直接放到/opt/eclipse/plugins目錄,重啟eclipse。
依次點擊:Window -> Preferences -> Java,如果出現JadClipse,即說明jadclipse安裝成功,不急,還有兩個設置:
點擊JadClipse,把Path to decompiler設置為/opt/jad/jad
點擊General -> Editors -> File Associations,在右邊選中*.class,在下邊框中選中JadClipse Class File Viewer,然後設置為Default
之後,當你打開class文件的時候JadClipse就會自動反編譯class文件並顯示出來了。
H. 如何在eclipse中配置反編譯工具JadClipse
在eclipse中配置反編譯工具JadClipse的方法:
1、下載JadClipse,注意選擇與eclipse版本一致的版本,推薦使用Eclipse3.4,所以選擇下載版本net.sf.jadclipse_3.3.0.jar
2、下載Jad,網路搜索最新地址,下載相應版本
3、將下載下來的Jadclipse,如net.sf.jadclipse_3.3.0.jar拷貝到Eclipse下的plugins目錄即可。
4、將Jad.exe拷貝到JDK安裝目錄下的bin文件下(方便,與java,javac等常用命令放在一起,可以直接在控制台使用jad命令),比如作者的目錄是D:Program FilesJavajdk1.6.0_02injad.exe
I. 怎麼把.class文件反編譯成.java 經修改後再編譯成.class
一、反編譯:下載一個jad
反編譯工具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
二:修改、再編譯
用Eclipse新建工程,再將反編譯出的Java文件按原樣導入工程,就可以修改代碼。修改並調試後,點擊Eclipse菜單中的文件→導出→Java→可運行的JAR文件,選擇配置工程和導出路徑,然後點完成即可導出。
J. 我用jad和Eclipse按照網上的操作進行反編譯失敗!求解
應該是你沒有配置好,你看下我的操作步驟,我自己每次都是這么做的:
http://download.csdn.net/detail/shy_snow/5066383
1、下載eclipse插件:jadclipse_3.1.0.jarhttp://jadclipse.sourceforge.net/
2、 下載Jad反編譯工具:jad.exehttp://www.kps.com/jad.html#download
3、將jad反編譯工具jad.exe放到jdk安裝路徑的bin目錄下面,jadclipse_3.1.0.jar放到eclipse的安裝目錄下的plugins目錄下。
4、啟動eclipse,打開:Window->Preferences->Java->JadClipse.
Path to decompiler,這里設置反編譯工具jad的全路徑名,就是第三部jad.exe的路徑。
5、 安裝完成後,eclipse自動將JadClipse Class File Viewer設置成class文件的預設打開方式。如果沒有默認,可以在Eclipse的Windows——> Perference——>General->Editors->File Associations中修改「*.class」默認關聯的編輯器為「JadClipse Class File Viewer」。設置完成後,雙擊*.class文件,eclipse將自動反編譯。
注意:jadclipse_3.1.0.jar的版本與eclipse的platform版本號相關