工具用的順手嗎?
你的回饋能幫助我們做得更好
將 Java class、JAR、WAR 或 EAR 檔案反編譯為可閱讀的 Java 原始碼,並下載原始碼 ZIP。
點選檔案拖放檔案到此處,或點擊選擇
.class · .jar · .war · .ear
最大 1 MB
上傳上限:訪客 1 MB,一般會員 2 MB,進階會員 5 MB,專業會員 20 MB。
混淆、最佳化、缺少偵錯符號或 WAR/EAR 內的巢狀 JAR 都可能影響結果。
概覽
了解工具能解決的問題、計算或處理邏輯,以及資料邊界。
Java 編譯器會將類別與介面轉換成 Java 虛擬機器可讀取的 class 二進位檔。class 檔包含常數池、欄位、方法、位元組碼指令與屬性等結構;反編譯器依這些資訊重建接近 Java 語法的原始碼。它適合用來閱讀程式邏輯,不等同於從編譯產物找回原始專案。
本工具接受單一 .class 檔,或包含 class 檔的 .jar、.war、.ear 封裝,輸出可預覽的原始碼並打包成 ZIP。JAR 常用來散布類別庫或應用程式;WAR、EAR 常見於 Java Web 與企業應用。封裝中若再巢狀放入其他 JAR,不一定會逐層解開並反編譯。
Java 虛擬機器規範將 class 檔定義為與硬體及作業系統無關的二進位格式;SourceFile、LocalVariableTable 等偵錯屬性則是選用資訊。因此,輸入中沒有保存的原始檔名稱、區域變數名稱或偵錯資訊,通常無法可靠還原。Oracle《Java 虛擬機器規範》§2.1 介紹 class 檔格式,第 4 章列出檔案結構與屬性。以上規範適用於 Java SE 21;於 2026-09-28 核對。
指南
依步驟完成操作,並透過範例核對輸入與結果。
選擇 .class、.jar、.war 或 .ear 檔案。若要查看較完整的套件結構,優先選擇包含相關類別檔的 JAR,而不是只上傳單一類別。
將檔案拖曳到上傳區,或點擊選擇。單檔上限會依帳號等級變動:訪客 1 MB、一般會員 2 MB、進階會員 5 MB、專業會員 20 MB。超過上限時,可改選較小的目標檔案,或先在本機拆分封裝。
完成後,依檔名篩選結果並開啟可預覽的文字原始碼。先查看套件名稱、類別名稱、方法與主要分支,再決定是否下載完整封裝。
點擊下載 ZIP 儲存所有處理結果。ZIP 是原始碼輸出檔,不是可直接建置的原始專案;相依函式庫、建置指令碼、資源與設定不會因反編譯而自動補齊。
若結果空白或顯示格式錯誤,請確認檔案確實包含 Java 位元組碼,並檢查檔案是否損毀、加密,或只包含巢狀封裝。大型企業封裝可先挑出要分析的模組,減少無關類別與上傳時間。
情境
查看這項工具在不同工作與生活流程中的用法。
原始碼目錄遺失但仍保有舊版建置產物時,上傳目標 .class 或 JAR,閱讀方法行為並重建關鍵實作線索。輸出可作為人工復原起點,不保證與原始碼逐字相同。
在你有權檢查的專案中,比對新舊封裝的類別、方法與呼叫流程,定位行為變化或相容性問題。若只需檢查單一模組,可先從完整封裝挑出對應 JAR 或 class。
將簡單範例編譯成 class 後查看反編譯輸出,觀察迴圈、條件分支、泛型簽章或例外處理在位元組碼中留下的資訊。將輸出與原始範例對照,可理解哪些資訊會在編譯時省略。
以上用途都需要輸入檔包含可辨識的 Java class。單純的原始碼 JAR、沒有位元組碼的封裝或其他 JVM 語言產物,可能得到空結果、不同風格的原始碼,或無法處理的提示。
問答
集中解答常見疑問與容易混淆的問題。
不會。註解、空白、變數命名和部分原始碼結構可能在編譯時遺失;反編譯器只能根據 class 檔中的位元組碼和仍保留的屬性重建可讀程式碼。結果適合分析,不能保證取代原始專案。
工具會處理所選封裝內可辨識的類別,但不保證遞迴展開每個巢狀 JAR,也不會下載封裝以外的相依項目。遇到缺少型別時,輸出仍可能出現無法解析的參照。
檔案損毀、位元組碼版本或特殊屬性不受目前引擎支援、混淆、加密以及類別相依項目缺失,都可能造成失敗或輸出不完整。可嘗試上傳單一目標類別,或包含較多相依資訊的封裝。
不一定。ZIP 提供產生的原始碼檔,不保證包含原專案的相依項目、資源、建置設定或正確模組結構。若要重新建置,仍需自行補齊相依項目並檢查程式碼。
須知
使用前了解適用範圍、結果限制與必要提醒。
反編譯是對編譯產物的近似重建,不是解密,也不保證語意、命名或結構與原始碼完全相同。程式混淆、編譯最佳化、偵錯屬性缺失、語言版本與外部相依項目都會影響可讀性;若要修復或發布,應由熟悉專案的人逐項核對。
檔案會上傳至雲端處理,來源檔和結果檔依服務端儲存生命週期規則清理,處理完成不代表立即刪除。請勿上傳密碼、金鑰、個人資料、商業機密或未經授權的第三方程式;使用前請確認你有權分析該檔案,並遵守適用的軟體授權與法律規定。
輸出供程式理解、相容性檢查與學習使用,不保證原專案完整或可直接建置。
推薦
查找相關工具、專題與可用的 API 能力。