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

java反編譯是什麼意思

發布時間: 2022-06-26 19:24:04

⑴ 什麼叫反編譯

編譯是一種將高級語言翻譯成計算機可是別的低級語言。
反之就是反編譯。
不光只java,可以編譯的高級語言都可以被反編譯。

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

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

⑶ 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 反編譯到底是什麼

編譯 = 源代碼.java 變成位元組碼 .class
反編譯 = 位元組碼 .class 變成 源代碼.java

================================================

去書店看書。SCJP的書是一定要看的。因為他太基礎了。
不要指望一次看懂。
學到哪裡就認真的看到哪裡!

⑹ Java反編譯工具的用法

反編譯得出的代碼,是JAVA文件在生成CLASS文件時,做過優化的代碼。
所以跟你的原文件不一樣(比如:注釋全沒有,中文全變成Unicode碼,字元串連接全部用StringBuffer類來代替,自動增加else語句等等)。
所以,你要是想修改反編譯出來的代碼,可以:
1、將反編譯出的代碼復制到一個新建的類文件里
2、運行這個文件
3、根據錯誤提示,進行修改
以上是,我用過的方法。

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

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

⑻ java反編譯器是什麼,干什麼用的;混淆器是什麼,有什麼用

反編譯器就是將.class文件變回原來的java源程序文件
不會沖突

混淆器可以打亂class文件中的符號信息,使反向工程變得非常困難。

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

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

熱點內容
清理outlook2010緩存 發布:2025-02-13 15:43:30 瀏覽:54
ohem演算法 發布:2025-02-13 15:40:10 瀏覽:930
java編程課程 發布:2025-02-13 15:36:08 瀏覽:475
cs編譯 發布:2025-02-13 15:36:07 瀏覽:55
高級語言都要編譯解析型語言 發布:2025-02-13 15:06:32 瀏覽:304
openwrt源碼下載 發布:2025-02-13 15:01:59 瀏覽:644
linux刪除一個目錄 發布:2025-02-13 15:00:29 瀏覽:539
螞蟻存儲 發布:2025-02-13 15:00:25 瀏覽:918
腳本師傳奇 發布:2025-02-13 14:45:48 瀏覽:481
我的世界lce伺服器剪輯 發布:2025-02-13 14:40:50 瀏覽:625