什么是編譯
1、利用編譯程序從源語言編寫的源程序產生目標程序的過程
2、用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。 編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息,具體參考 Javac編譯與JIT編譯
什么是反編譯
計算機軟件反向工程(Reverse engineering)也稱為計算機軟件還原工程,是指通過對他人軟件的目標程序(可執行程序)進行“逆向分析、研究”工作,以推導出他人的軟件產品所使用的思路、原理、結構、算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟件時的參考,或者直接用于自己的軟件產品中
Java類的編譯與反編譯
我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件
那么反編譯呢,就是通過helloworld.class文件得到java文件(或者說是程序員能看懂的Java文件)
什么時候會用到反編譯
1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那么我們可以把它反編譯成我們可以看得懂的文件
2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現細節,我們可以借助反編譯。以下是小編推薦的七款開源Java反編譯工具,一起來了解一下。
7款開源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” 即可。
官方網站:http://sourceforge.net/projects/jadclipse/
2、Java反編譯工具 jad
jad是一款使用非常廣泛地Java反編譯工具,上面這款Jadclipse就是基于jad的反編譯插件,JAD 文件包含 MIDlet 套件的標題信息,例如開發應用程序的公司、應用程序名稱和大小。
官方網站:http://varaneckas.com/jad/
3、Java 反編譯器 JD-GUI
JD-GUI 是一個用 C++ 開發的 Java 反編譯工具,由 Pavel Kouznetsov開發,支持Windows、Linux和蘋果Mac Os三個平臺。而且提供了Eclipse平臺下的插件JD-Eclipse。JD-GUI不需要安裝,直接點擊運行,可以反編譯jar,class文件。
官方網站:http://jd.benow.ca/
4、Java反編譯器 jdec
jdec是一個Java反編譯器。它能夠把出現在一個.class文件中的字節碼還原成Java源代碼,反編譯的結果幾乎與原始Java文件相同。它還自帶一個利用swing開發的用戶操作界面。
官方網站:http://jdec.sourceforge.net/
5、uuDeJava
uuDeJava是Java Class文件的反編譯工具。反編譯的Java源程序被輸出到Class的相同目錄。內部使用jad.exe。反編譯Class文件時,可以直接點擊Class文件(關聯后),或者選中文件或目錄發送到uuDeJava的快捷方式。還可以拖動文件或目錄到uuDeJava的主窗口。
官方網站:http://www.uuware.com/uudejava_cn.htm
6、Java 反向工程軟件 Minjava
Minjava 是一個 Java 反向工程軟件,可幫助理解已存在一些 Java 軟件的架構和行為。
官方網站:https://code.google.com/p/minjava/
7、Java Decompiler
這款反編譯器叫 “Java Decompiler”, 由 Pavel Kouznetsov開發,目前最新版本為0.2.5. 它由 C++開發,并且官方可以下載 windows、linux和蘋果Mac Os三個平臺的可執行程序。
官方網站:http://jd.benow.ca/
-
JAVA
+關注
關注
19文章
2969瀏覽量
104780 -
編譯工具
+關注
關注
0文章
10瀏覽量
6957
發布評論請先 登錄
相關推薦
評論