當前位置:首頁 » 編程軟體 » 什麼是java反編譯

什麼是java反編譯

發布時間: 2023-03-18 00:04:37

java class 文件反編譯有什麼用

反編譯class文件是為了獲取java源碼,一般是為了學習源碼或者查看源碼是否於新代碼相同,有時eclipse編譯後class文件並沒有更新過,還是舊的代碼,而你又不確定,此時反編譯查看代碼是否更新到最近的,我因為這個問題導致程序出錯過

㈡ 反編譯是什麼意思

稿和高級語言源程序經過 編譯 變成可執行文件,反編譯就是逆過程。
但是通常不能把可執行文件變成高級語言源代碼,只能轉換成匯編程序。
計算機軟體反向工程(Reversepengineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思悉指路、原理、結構、演算法、處理過程、運行方法等設計要素,作為自己開發軟體時的參考,或者直接鍵陸盯用於自己的軟體產品中。
反編譯是一個復雜的過程,所以越是高級語言,就越難於反編譯,但目前還是有許許多多的反編譯軟體:
VB: VBExplorer ;只能反編譯界面圖像,好像代碼不能完全反編譯
JAVA: JAD ;java的反編譯比較常見,所以反編譯比較完全
C++ : eXeScope
Dephi: DEDE

㈢ Java反編譯工具有什麼作用

就是把經過java文件編譯後的可執行的class文件再反編譯為java文件,因為經過編譯的class文件是不可閱讀的!但是由於java文件一般都不是單獨運行的,會有類之間的相互調用,所以反編譯工具反編譯後只能大體上還原原來java文件,而不能完全還原,特別是一些變數的取值,定義等..

㈣ 如何將java中的.class文件反編譯

安裝Java jdk後
看安裝目錄里有沒有jad.exe,沒有要下載,一般都有的
配置Java環境變數
開始-運行-cmd-回車-進入命令行窗口:
cd+空格+class文件所在路徑:
按下面的命令進行反編譯:
例如:[2] jad -sjava example.class 回車
在目錄里可以看到example.java源文件

[1] 反編譯一個class文件:jad example.class,會生成example.jad,用文本編輯器打開就是java源代碼
[2] 指定生成源代碼的後綴名:jad -sjava example.class,生成example.java
[3] 改變生成的源代碼的名稱,可以先使用-p將反編譯後的源代碼輸出到控制台窗口,然後使用重定向,輸出到文件:jad -p example.class > myexample.java
[4] 把源代碼文件輸出到指定的目錄:jad -dnewdir -sjava example.class,在newdir目錄下生成example.java
[5] 把packages目錄下的class文件全部反編譯:jad -sjava packages/*.class
[6] 把packages目錄以及子目錄下的文件全部反編譯:jad -sjava packages/**/*.class,不過你仍然會發現所有的源代碼文件被放到了同一個文件中,沒有按照class文件的包路徑建立起路徑
[7] 把packages目錄以及子目錄下的文件全部反編譯並建立和java包一致的文件夾路徑,可以使用-r命令:jad -r -sjava packages/**/*.class
[8] 當重復使用命令反編譯時,Jad會提示「whether you want to overwrite it or not」,使用-o可以強制覆蓋舊文件

[9] 還有其他的參數可以設置生成的源代碼的格式,可以輸入jad命令查看幫助,這里有個人做了簡單的翻譯:jad命令總結
[10] 當然,你會發現有些源文件頭部有些注釋信息,不用找了,jad沒有參數可以去掉它,用別的辦法吧。

㈤ java class 文件反編譯有什麼用

眾所周知,java編譯後的文件為class文件,是看不到源碼的,而反編譯就是逆其道而行,把class文件反編譯回java文件,簡單說,就是還原文件讓你可以看到源碼

㈥ 誰能告訴我Java反編譯工具到底是幹嘛用的啊

想要簡單點的,行。Java反編譯工具,就是用來查看class文件的。如果沒有Java反編譯工具,你無法查看class文件。
補充:一般是把Java反編譯工具安裝到Eclipse上的,經過相應的配置,然後在你編輯代碼的時候,你想看看一個類的內部代碼,你就可以使用Ctri+滑鼠左鍵單擊那個類,這樣Eclipse就能打開相應的class文件,方便吧(省的到處去下載那些源代碼,更何況有些源代碼不公開的)。

㈦ java反編譯

如今JAVA語言在全世界范圍正如火如荼般的流行,它廣范地應用在INTERNET的資料庫、多媒體、CGI、及動態網頁的製作方面。1999年在美國對JAVA程序員的需求量首次超過C++!

作者因最近分析一些JAVA程序,對JAVA的反編譯進行了一番了解,下面將我所了解的情況作以下介紹,希望對JAVA愛好者有所幫助。

JAVA是採用一種稱做「位元組編碼」的程序結構,分為小程序(嵌入到HTML文件中)和應用程序(直接在命令狀態下執行)兩種類型。無論哪種結構,一旦用JAVAC 命令編譯後,均變成後綴為CLASS的同名可執行文件。這種文件是不可閱讀的代碼。

經查閱了SUN公司的JDK(JDK1.1.3)文檔資料後,我找到了一個據稱是可反編譯JAVA的JAVAP文件(EXE),這個文件位於\JDK\BIN\ 下面,經按說明使用後,感到失望,原來這個「反編譯」僅可反編譯出JAVA程序的數據區(定義)、若干方法和類的引用等。

這里我用了一個簡單例子來說明問題。

JAVA的源程序hello_java.java如下:

import java.applet.*;
import java.awt.*;
public class hello_java extends Applet
{
public void paint(Graphics g)
{
g.drawString("Hello Java!\n",20,20);
}
}

經用反編譯命令:javap -c -package -public -private hello_java hello.java

得到的反編譯結果(hello.java)如下:(有關javap命令的選擇參數請見其使用說明,這里-c表示選擇了反編譯)

Compiled from hello_java.java
public synchronized class hello_java extends java.applet.Applet
/* ACC_SUPER bit set */
{
public void paint(java.awt.Graphics);
public hello_java();
Method void paint(java.awt.Graphics)
0 aload_1
1 ldc #1
3 bipush 20
5 bipush 20
7 invokevirtual #6
10 return
Method hello_java()
0 aload_0
1 invokespecial #5 ()V>
4 return
}

㈧ Java的反編譯命令是什麼

用jd gui可以直接反編譯class為java代碼。
java中的「反編譯」命令是用來查看class文件的。
在jdk/bin的目錄下有個叫做javap的命令行工具。主要是在分析Class文件的時候比較有用。

㈨ 什麼是反編譯工具反編譯工具有什麼用

簡單來說,就是把一個已有的程序轉化為編程的命令行。至於使用反編譯的原因么……有的是為了研究一個程序以達到吸取別人的編程思路和經驗。當然也有的是為了盜版。或者是為了竊取別人的軟體。

㈩ java的反編譯怎麼使用,說具體點

1.下載jad1.5.8e
http://www.kps.com/jad.html#download
下載後解壓。解壓縮後將jad.exe拷貝到JRE的bin目錄下,如\Java\jre1.5.0_06\bin

2.下載 jadclipse_3.1.0.jar
http://jaist.dl.sourceforge.net/sourceforge/jadclipse/jadclipse_3.1.0.jar
將jadclipse_3.1.0.jar復制到D:\Program Files\eclipse\myplugin\eclipse\plugins目錄下(用的是

link方式安裝插件的)。

3.啟動Eclipse後,在Windows-->Perference-->Java下面應該會多出一個JadClipse目錄,相關的設置可

以在此修改
配置jadclipse:設置path to decompiler為jad.exe的全路徑,如:F:\Java\jre1.5.0_06\bin\jad.exe

,在Directory for temporary files中指定臨時文件的路徑,如:G:\Java\eclipse-SDK-3.0-win32\temp
4、在Eclipse的Windows-->Perference-->General->Editors->File Associations中修改「*.class」默

認關聯的編輯器為「JadClipse Class File Viewer」
5、安裝完成,雙擊class文件,Eclipse將自動反編譯了。

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:737
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:149
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:399
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:544
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:632
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:366