jdk反編譯工具
Ⅰ 求教JDK中的反編譯命令
用習慣了著名的反編譯工具jad的話,如果有的時候單給出class文件,要快速看這個class文件
的JDK版本號等,其實不用工具,也可以用JDK自帶的javap命令進行反編譯輸出,下面小結
其用法:
1,javap -verbose 類名
得到的信息如下:
Compiled from "Test.java"
public class Test extends java.lang.Object
SourceFile: "Test.java"
minor version: 0
major version: 50
Constant pool:
......
可以看出jdk的版本,這個用在判斷某些CLASS的版本是否兼容的時候很有用.
2 最常見的不帶參數的情況:javap 類名
比如某個類:
Java代碼
packagetest;
publicclassTest{
intnumber=5;
publicvoidsayHello(){
System.out.println("Hello");
}
}
則:
C: empjavaptest>javap Test
Compiled from "Test.java"
public class test.Test extends java.lang.Object{
int number;
public test.Test();
public void sayHello();
}
帶參數-c:
則可以看到位元組碼了:
Java代碼
C: empjavaptest>javap-cTest
Compiledfrom"Test.java"
publicclasstest.Testextendsjava.lang.Object{
intnumber;
publictest.Test();
Code:
0:aload_0
1:invokespecial#1;//Methodjava/lang/Object."<init>":()V
4:aload_0
5:iconst_5
6:putfield#2;//Fieldnumber:I
9:return
publicvoidsayHello();
Code:
0:getstatic#3;//Fieldjava/lang/System.out:Ljava/io/PrintStream;
3:ldc#4;//StringHello
5:invokevirtual#5;//Methodjava/io/PrintStream.println:(Ljava/lang/String;)V
8:return
}
帶參數-l: 將顯示行號和局部變數表
-public 只顯示 public 類及成員。
-protected 只顯示 protected 和 public 類及成員。
-package 只顯示包、protected 和 public 類及成員。這是預設設置。
-private 顯示所有類和成員。
Ⅱ Java反編譯工具哪個好
java反編譯工具有如下兩種:
1.jd-gui.exe反編譯最方便,界面如下:
2.XJad.exe反編譯最精確
Ⅲ Java反編譯軟體下載地址
網路搜索 jad.exe 就看到了,怎麼用下載頁會有介紹的,希望能幫助到您
Ⅳ 哪裡有java包的反編譯工具
我用的是jd-gui-0.3.1反編譯工具,感覺還不錯!
Ⅳ java反編譯工具有哪些
1、 Java反編譯插件—Jadclipse
JadClipse是Jad的Eclipse插件,是一款非常實用而且方便地Java反編譯插件,我們只需將下載的插件包復制到eclipse的plugins目錄下,然後修改window -> Preferences -> Java -> JadClipse 下的Path to decompiler ,如:C:\pin\jadnt158\jad.exe,最後在Windows -> Perference -> General -> Editors -> File Associations中修改「*.class」默認關聯的編輯器為「JadClipse Class File Viewer」 即可。
2、 Java反編譯工具 —jad
jad是一款使用非常廣泛地Java反編譯工具,上面這款Jadclipse就是基於jad的反編譯插件,JAD 文件包含 MIDlet 套件的標題信息,例如開發應用程序的公司、應用程序名稱和大小。
3、 Java 反編譯器—JD-GUI
JD-GUI 是一個用 C++ 開發的 Java 反編譯工具,由 Pavel Kouznetsov開發,支持Windows、linux和蘋果Mac Os三個平台。而且提供了Eclipse平台下的插件JD-Eclipse。JD-GUI不需要安裝,直接點擊運行,可以反編譯jar,class文件。
4、 Java反編譯器—jdec
jdec是一個Java反編譯器。它能夠把出現在一個.class文件中的位元組碼還原成Java源代碼,反編譯的結果幾乎與原始Java文件相同。它還自帶一個利用swing開發的用戶操作界面。
5、 uuDeJava
uuDeJava是Java Class文件的反編譯工具。反編譯的Java源程序被輸出到Class的相同目錄。內部使用jad.exe。反編譯Class文件時,可以直接點擊Class文件(關聯後),或者選中文件或目錄發送到uuDeJava的快捷方式。還可以拖動文件或目錄到uuDeJava的主窗口。
6、 Java 反向工程軟體—Minjava
Minjava 是一個 Java 反向工程軟體,可幫助理解已存在一些 Java 軟體的架構和行為。
7、 Java Decompiler
這款反編譯器叫 「Java Decompiler」, 由 Pavel Kouznetsov開發,目前最新版本為0.2.5. 它由 C++開發,並且官方可以下載 windows、linux和蘋果Mac Os三個平台的可執行程序。
參考資料:http://www.kiwisec.com/news/detail/592e90c09a3e7a3fddc62db7.shtml
Ⅵ Java反編譯工具有什麼作用
就是把經過java文件編譯後的可執行的class文件再反編譯為java文件,因為經過編譯的class文件是不可閱讀的!但是由於java文件一般都不是單獨運行的,會有類之間的相互調用,所以反編譯工具反編譯後只能大體上還原原來java文件,而不能完全還原,特別是一些變數的取值,定義等..
Ⅶ 怎麼用java自帶反編譯工具查看java位元組碼文件
首先,寫一個最簡單的程序,我們從最簡單入手,相信大家1秒就可以看懂了吧
然後,經過編譯生成HelloWorld.class文件,對,我們就去看HelloWorld.class裡面的java位元組碼,到底是什麼。
輸入下圖所示的命令,javap -verbose HellloWorld.class 回車
詳細代碼,如下,沒學過編譯原理的,建議去學下,去學下編譯原理,經常看看,就能看懂了,我和大家都是一樣,我也是一名,計算機愛好者,沒事,喜歡瞎鼓弄。今天就到這了。怎麼用java自帶反編譯工具查看java位元組碼文件!
Ⅷ Java 反編譯class jdk1.5以上工具
推薦用 小穎反編譯工具 我用了好幾年了 我本機有 要的話我發郵件給你
Ⅸ 最好的java反編譯工具是哪個
jd-gui好
計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。JD分為JD-GUI、JD-Eclipse兩種運行方式,JD-GUI是以單獨的程序的方式運行,JD-Eclipse則是以一個Eclipse插件的方式運行。
Ⅹ 將.class文件反編譯成.java文件都有哪些工具
反編譯工具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