簡體   English   中英

反編譯java類文件

[英]Decompile java class file

是否可以在另一個程序中反編譯 java .class 文件? 我知道像 CAVAJ 和 DJ Java Decompiler 這樣的工具。 為什么 ? :我正在修改程序中的一個類文件並將其轉儲到同一個文件中。 我想然后解析修改后的類文件的源文件。 提前致謝。

這是一個可能的答案(這是我用來編譯源文件的)

private int runProcess(String command) throws Exception
{
    Process pro = Runtime.getRuntime().exec(command);
    System.out.println(command);
    printLines("", pro.getInputStream());
    printLines("",pro.getErrorStream());
    pro.waitFor();
    return(pro.exitValue());
}

然后你可以使用類似的東西:

int exitValue = runProcess(your command here);

我猜 JD-GUI 不會工作; 你需要一個命令行java反編譯器。

這些鏈接可能會有所幫助:
使用 JD-GUI 批量反編譯 Java 文件
http://en.wikipedia.org/wiki/JAD_%28JAva_Decompiler%29
http://viralpatel.net/blogs/decompile-class-file-java-decompiler-class-java-class/

最后一個鏈接有一個 JAD 的下載鏈接,JAD 是 Windows 計算機的命令行工具。

根據操作系統,命令可能會有所不同,但如果您將 jad 移動到 cmd 類路徑,它可能只是“jad classname.class”。 我有 mac os x,所以我不確定它在哪里。

我希望這有幫助!

如果您希望在運行時修改該類,則可能不需要反編譯該類。 您可以操作字節碼。 看看http://cglib.sourceforge.net/ ,也許這會幫助你

Java IDE 可以很好地反編譯類文件。 以 IntelliJ 為例,甚至社區版。 它無法更新(只讀模式)但我希望它可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM