繁体   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