0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

7款開源Java反編譯工具推薦

h1654155282.3538 ? 來源:網(wǎng)絡(luò)整理 ? 2018-03-30 17:09 ? 次閱讀

什么是編譯

1、利用編譯程序從源語言編寫的源程序產(chǎn)生目標(biāo)程序的過程

2、用編譯程序產(chǎn)生目標(biāo)程序的動作。 編譯就是把高級語言變成計(jì)算機(jī)可以識別的2進(jìn)制語言,計(jì)算機(jī)只認(rèn)識1和0,編譯程序把人們熟悉的語言換成2進(jìn)制的。 編譯程序把一個(gè)源程序翻譯成目標(biāo)程序的工作過程分為五個(gè)階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優(yōu)化;目標(biāo)代碼生成。主要是進(jìn)行詞法分析和語法分析,又稱為源程序分析,分析過程中發(fā)現(xiàn)有語法錯誤,給出提示信息,具體參考 Javac編譯與JIT編譯

什么是反編譯

計(jì)算機(jī)軟件反向工程(Reverse engineering)也稱為計(jì)算機(jī)軟件還原工程,是指通過對他人軟件的目標(biāo)程序(可執(zhí)行程序)進(jìn)行“逆向分析、研究”工作,以推導(dǎo)出他人的軟件產(chǎn)品所使用的思路、原理、結(jié)構(gòu)、算法、處理過程、運(yùn)行方法等設(shè)計(jì)要素,某些特定情況下可能推導(dǎo)出源代碼。反編譯作為自己開發(fā)軟件時(shí)的參考,或者直接用于自己的軟件產(chǎn)品中

Java類的編譯與反編譯

我們在最初學(xué)習(xí)Java的時(shí)候,會接觸到兩個(gè)命令:javac和java,那個(gè)時(shí)候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件

7款開源Java反編譯工具推薦

那么反編譯呢,就是通過helloworld.class文件得到j(luò)ava文件(或者說是程序員能看懂的Java文件)

什么時(shí)候會用到反編譯

1、我們只有一個(gè)類的class文件,但是我們又看不懂Java的class文件,那么我們可以把它反編譯成我們可以看得懂的文件

2、學(xué)習(xí)Java過程中,JDK的每個(gè)版本都會加入越來越多的語法糖,有些時(shí)候我們想知道Java一些實(shí)現(xiàn)細(xì)節(jié),我們可以借助反編譯。以下是小編推薦的七款開源Java反編譯工具,一起來了解一下。

7款開源Java反編譯工具

1、Java反編譯插件 —— Jadclipse

JadClipse是Jad的Eclipse插件,是一款非常實(shí)用而且方便地Java反編譯插件,我們只需將下載的插件包復(fù)制到eclipse的plugins目錄下,然后修改window -》 Preferences -》 Java -》 JadClipse 下的Path to decompiler ,如:C:\pin\jadnt158\jad.exe,最后在Windows -》 Perference -》 General -》 Editors -》 File Associations中修改“*.class”默認(rèn)關(guān)聯(lián)的編輯器為“JadClipse Class File Viewer” 即可。

7款開源Java反編譯工具推薦

官方網(wǎng)站:http://sourceforge.net/projects/jadclipse/

2、Java反編譯工具 jad

jad是一款使用非常廣泛地Java反編譯工具,上面這款Jadclipse就是基于jad的反編譯插件,JAD 文件包含 MIDlet 套件的標(biāo)題信息,例如開發(fā)應(yīng)用程序的公司、應(yīng)用程序名稱和大小。

官方網(wǎng)站:http://varaneckas.com/jad/

3、Java 反編譯器 JD-GUI

JD-GUI 是一個(gè)用 C++ 開發(fā)的 Java 反編譯工具,由 Pavel Kouznetsov開發(fā),支持Windows、Linux和蘋果Mac Os三個(gè)平臺。而且提供了Eclipse平臺下的插件JD-Eclipse。JD-GUI不需要安裝,直接點(diǎn)擊運(yùn)行,可以反編譯jar,class文件。

7款開源Java反編譯工具推薦

官方網(wǎng)站:http://jd.benow.ca/

4、Java反編譯器 jdec

jdec是一個(gè)Java反編譯器。它能夠把出現(xiàn)在一個(gè).class文件中的字節(jié)碼還原成Java源代碼,反編譯的結(jié)果幾乎與原始Java文件相同。它還自帶一個(gè)利用swing開發(fā)的用戶操作界面。

7款開源Java反編譯工具推薦

官方網(wǎng)站:http://jdec.sourceforge.net/

5、uuDeJava

uuDeJava是Java Class文件的反編譯工具。反編譯的Java源程序被輸出到Class的相同目錄。內(nèi)部使用jad.exe。反編譯Class文件時(shí),可以直接點(diǎn)擊Class文件(關(guān)聯(lián)后),或者選中文件或目錄發(fā)送到uuDeJava的快捷方式。還可以拖動文件或目錄到uuDeJava的主窗口。

7款開源Java反編譯工具推薦

官方網(wǎng)站:http://www.uuware.com/uudejava_cn.htm

6、Java 反向工程軟件 Minjava

Minjava 是一個(gè) Java 反向工程軟件,可幫助理解已存在一些 Java 軟件的架構(gòu)和行為。

7款開源Java反編譯工具推薦

官方網(wǎng)站:https://code.google.com/p/minjava/

7、Java Decompiler

這款反編譯器叫 “Java Decompiler”, 由 Pavel Kouznetsov開發(fā),目前最新版本為0.2.5. 它由 C++開發(fā),并且官方可以下載 windows、linux和蘋果Mac Os三個(gè)平臺的可執(zhí)行程序。

官方網(wǎng)站:http://jd.benow.ca/

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2967

    瀏覽量

    104751
  • 編譯工具
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    6957
收藏 人收藏

    評論

    相關(guān)推薦

    XDC工具可以反編譯嗎?如把.x64P文件反編譯出源文件

    XDC工具可以反編譯嗎?如把.x64P文件反編譯出源文件
    發(fā)表于 10-30 17:03

    8051系列單片機(jī)反編譯軟件(工具)

    8051系列單片機(jī)反編譯軟件(工具):最好的8051系列單片機(jī)反編譯軟件(window版)
    發(fā)表于 10-12 10:58 ?275次下載
    8051系列單片機(jī)<b class='flag-5'>反編譯</b>軟件(<b class='flag-5'>工具</b>)

    8051系列單片機(jī)反編譯軟件(dos版)

    8051系列單片機(jī)反編譯軟件(dos版):
    發(fā)表于 10-12 11:01 ?0次下載
    8051系列單片機(jī)<b class='flag-5'>反編譯</b>軟件(dos版)

    反編譯代碼與源代碼的比較算法

    反編譯代碼與源代碼的
    發(fā)表于 02-09 15:19 ?10次下載

    C32asm國產(chǎn)靜態(tài)反編譯工具源代碼

    C32asm國產(chǎn)靜態(tài)反編譯工具源代碼 [GLOBENOTE]LanguageChange=必須重新打開應(yīng)用程序才能生效Done=完成OpenFileErr=打開 %s 文件遭遇錯誤 [GENERAL]ButtonOk=確定
    發(fā)表于 02-24 14:12 ?49次下載

    FoxPro編程愛好者的反編譯工具源代碼

    FoxPro編程愛好者的反編譯工具源代碼 UNFOXALL 2.1獻(xiàn)給廣大FoxPro編程愛好者的反編譯工具       
    發(fā)表于 02-26 16:13 ?94次下載

    一個(gè)簡單易用的java編譯工具完全漢化版

    一個(gè)簡單易用的java編譯工具完全漢化版
    發(fā)表于 04-07 14:09 ?0次下載

    C51智能反編譯

    C51智能反編譯
    發(fā)表于 04-07 17:36 ?63次下載

    8051系列單片機(jī)反編譯軟件.rar

    8051系列單片機(jī)反編譯軟件
    發(fā)表于 04-13 15:24 ?66次下載

    Android反編譯工具

    Android反編譯工具
    發(fā)表于 12-17 15:59 ?21次下載

    java反編譯常用的保護(hù)技術(shù)

    由于Java字節(jié)碼的抽象級別較高,因此它們較容易被反編譯。本節(jié)介紹了幾種常用的方法,用于保護(hù)Java字節(jié)碼不被反編譯。通常,這些方法不能夠絕對防止程序被
    發(fā)表于 07-29 16:00 ?710次閱讀

    SpringBoot項(xiàng)目Jar包加密防止反編譯方案

    最近項(xiàng)目要求部署到其他公司的服務(wù)器上,但是又不想將源碼泄露出去。要求對正式環(huán)境的啟動包進(jìn)行安全性處理,防止客戶直接通過反編譯工具將代碼反編譯出來。
    的頭像 發(fā)表于 12-12 14:04 ?1320次閱讀
    SpringBoot項(xiàng)目Jar包加密防止<b class='flag-5'>反編譯</b>方案

    ida反編譯出來代碼能直接用嗎

    IDA反編譯出來的代碼通常 不能直接使用 ,這主要基于以下幾個(gè)方面的原因: 一、代碼的不完整性 IDA反編譯生成的代碼可能缺少原始源代碼中的某些關(guān)鍵信息。在編譯過程中,編譯器會優(yōu)化代碼
    的頭像 發(fā)表于 09-02 10:55 ?672次閱讀

    java反編譯的代碼可以修改么

    的影響。 1. Java反編譯工具Java反編譯領(lǐng)域,有一些知名的工具可以幫助開發(fā)者將字節(jié)碼
    的頭像 發(fā)表于 09-02 11:00 ?677次閱讀

    java反編譯能拿到源碼嗎

    Java反編譯是一種將編譯后的Java字節(jié)碼(.class文件)轉(zhuǎn)換回Java源代碼的過程。雖然反編譯
    的頭像 發(fā)表于 09-02 11:03 ?1014次閱讀