首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java反編譯工具JAD完整使用指南:從基礎語法到進階選項實戰

     編輯:Java 相關知識

JAD (Java Decompiler) 是經典反編譯工具,雖停止更新但仍輕量好用。假設 jad.exe 在 C:\Java。

基礎用法

jad Example1.class          # 生成 Example1.jad → 改名 .java
jad *.class                 # 批次處理

核心選項速查表

選項功能範例
-o不提示直接覆蓋輸出檔jad -o *.class
-s <ext>指定輸出副檔名jad -sjava Example.class → Example.java
-p輸出到標準輸出 (可重導向)jad -p Example.class > Example.java
-d <dir>指定輸出目錄jad -d output -sjava *.class
-a/-afJVM 位元碼註解 / 完整名稱註解
-b輸出多餘括號 (如 if(a){b();})
-dead嘗試反編譯死代碼
-disass反組譯模式 (不生成 Java 源碼)
-f/-ff輸出完整類/方法名 / 成員前置
-i輸出變數預設初始值
-lnc輸出行號註解
-noinner關閉內部類支援
-nocode不生成方法源碼

進階組合範例

# 批次反編譯到指定目錄,輸出.java,覆蓋不提示
jad -o -d decompiled -sjava *.class

# 查看位元碼與行號對應
jad -a -lnc -p Example.class | less

現代替代工具

  • CFR:支援 Java 8-21、Lambda、模組、Kotlin,活躍維護
  • Fernflower:IntelliJ 內建反編譯器,效果極佳
  • Procyon:支援 Java 8+、Enum、Lambda、Switch 表達式
  • JD-GUI:圖形介面、專案級瀏覽、支援現代語法

建議:日常開發用 IDE 內建 (Fernflower) 或 JD-GUI;舊版 Class 檔 (Java 1.3-) 可嘗試 JAD。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved