當前位置:首頁 » 編程語言 » java反匯編

java反匯編

發布時間: 2023-05-26 00:22:46

❶ 我使用CLASS反匯編生成的java文件重新進行編譯生成JAVA文件提示出錯是為什麼呢

並不是所有的class都能反匯編成java文件的,尤其是那些經過obfuscation(代碼混淆)的class文件,混淆器故意生成很難或者根本不可能被反匯編的程序。比如class文件中可以用java關鍵詞作名字的變數,反匯編出來的當然就不行了,這只是混淆技術之一,有些混淆技術相當難破。

另外,反匯編出來的程序質量跟反匯編程序也很有關系,jd-gui不錯,但也不是通吃的。

❷ jdk是什麼

JDK全稱Java Development ToolKit,是Java語言開發工具包。JDK是整個JAVA的核心,包括了Java運行環境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java API 包括rt.jar)。

最主流的JDK是Sun公司發布的JDK,除了Sun之外,還有很多公司和組織都開發了屬於自己的JDK。IBM公司開發了屬於自己的JDK,國內淘寶也開發了屬於自己的JDK,各個組織開發自己的JDK都是為了在某些方面得到一些提高,以適應自己的需求。

JDK是用於構建在 Java 平台上發布的應用程序、applet 和組件的開發環境。它不提供具體的開發軟體,它提供的是無論你用何種開發軟體寫Java程序都必須用到的類庫和Java語言規范。

(2)java反匯編擴展閱讀:

JDK版本的 變遷史及其選擇。

Java語言自JDK1.0版本以來經歷了許多次更新,也在基本程序庫中增加了大量的類別和包。除了語言上的變化,多年來Java標准庫(JCL)發生了巨大的變化,從JDK 1.0中的幾百個類暴增到J2SE 5中的三千多個類。

Swing、Java2D等的全新API被加入其中,而許多原本JDK 1.0的類和方法已被棄用。當然,仍然有一些程序可以將Java程序從新版本的Java平台轉換為較舊版本(例如Java 5.0降轉到1.4)。

2017年9月,Java平台的主架構師 Mark Reinhold 發出提議,要求將Java的功能更新周期從之前的每兩年一個新版本縮減到每六個月一個新版本。該提議獲得了通過,並在提出後不久生效。

Java 8 與 Java 11 為當前提供支持的LTS(長期支持)版本;Java 10 是上一個快速發布版本,且已不再被支持。2018年9月,隨著 Java 11 的發布,Java 10 自當日起不再被支持。

Oracle 將在 2019 年 1 月前為商業用途中的 Java 8 長期支持,而針對非商用的更新將繼續提供,直至 2020 年 12 月。

此外,AdoptOpenJDK 也為 Java 8 提供免費更新。針對 Java 11 的長期支持將不再由 Oracle 提供,而是改由OpenJDK社區的 AdoptOpenJDK 提供。

版本選擇的問題,1.7、1.8、1.9都是成熟版本,原則上都可以選用。國內公司的商業項目jdk一般不輕易升級,1.9用的就比較少了,加上配套框架升級速度的考慮,1.9版本第二推薦位。

1.8和1.7的應用都比較廣泛了,那自然選更新更高級的版本。所以,最推薦用1.8版本。JDK11除非只想從語言層面去體驗新功能,還是不要在實際業務開發中用。

參考資料來源:網路——JDK

❸ 如何將java語言轉變為匯編語言

流程:

  1. Java詞法分析

    最開始的時候,高級語言編寫的程序對編譯器來說只是一連串的單個字元組成的字元串。為了讓編譯器識別這一連串的字元串,需要逐個字元的讀取源程序,然後將其切分成有意義的單詞,這些被切分後的單詞在編譯器眼裡是以

    <標識,語義值>對的形式存在。

    為了從源程序字元串中依次找出單詞,編譯器需要具有掃描功能,通常這種掃描器可以用一組有限狀態機來實現。為了說明有限狀態機是怎麼一回事,下面給出一個實例。

    下圖為一個識別數字的有限狀態機,數字由整數部分和可選的小數部分組成。因此,根據這個有限狀態機,250和3.14159都能被識別成一個有效的數字。

  2. Java語法分析

    完成了「詞法分析」後,接下來就是激動人心的「語法分析」階段。通過語法分析得到語法樹。

  3. Java翻譯語法樹

    首先,尋找最小表達式,接下來,將最小表達式與其周邊的表達式合並。最後,將所有的表達式有序的進行合並,得到最終的匯編語言描述。

    至此,我們便將高級語言翻譯成了匯編語言。

❹ javar是什麼和java什麼關系

Java業內沒有javar這一常用名詞吧,說它指
java jar的縮寫當然也行,畢竟這不是什麼規范和標准,深究沒大多意義.
JDK組件:
·javac – 編譯器,將源程序轉成位元組碼
·jar – 打包工具,將相關的類文件打包成一個文件
·javadoc – 文檔生成器,從源碼注釋中提取文檔
·jdb – debugger,查錯工具
·java – 運行編譯後的java程序(.class後綴的)
appletviewer:小程序瀏覽器,一種執行HTML文件上的Java小程序的Java瀏覽器。
Javah:產生可以調用Java過程的C過程,或建立能被Java程序調用的C過程的頭文件。
Javap:Java反匯編器,顯示編譯類文件中的可訪問功能和數據,同時顯示位元組代碼含義。
Jconsole: Java進行系統調試和監控的工具

❺ JAVA程序能被反匯編嗎

呵呵 首先,java可以反編譯,現在已經有反編譯軟體了,你已經用過了,就知道的確很強大。不過,java相對來說,還是安全的,現在似乎還有種反反編譯,聽說過,不了解。
這些我們可以通過一些演算法加密之類的,比如md5這樣的。所以還是不用擔心java的安全性。
然後,java是可以寫病毒的。只是,java的使用需要對方先安裝jvm之類的,所以說,如果對方沒安裝,那你病毒就沒用了。所以現在很少人用java寫病毒,就像linux里很少人會去浪費時間寫病毒的。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:945
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:742
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372