使用java库将.class文件反编译为.java源代码

时间:2014-02-28 04:57:56

标签: java class decompiler jad

我正在研究需要将.class文件反编译为源代码的java项目,我发现了很多方法,例如JAD反编译器和'javap -p'方法......,但我认为这些方法是不能以编程方式完成(请告诉我是否可以),有没有办法以编程方式完成此操作,如果您向我展示任何库,将不胜感激。

1 个答案:

答案 0 :(得分:6)

Procyon是一个用Java编写的Java反编译器,它可以直接从Java代码调用。例如:

final PrintWriter writer = new PrintWriter(System.out);

try {
    com.strobel.decompiler.Decompiler.decompile(
        "W:\\Hello.class",
        new com.strobel.decompiler.PlainTextOutput(writer)
    );
}
finally {
    writer.flush();
}

还有一个decompile()重载接受DecompilerSettings实例,您可以使用它来切换某些功能,并为反编译提供有关如何解决类依赖关系的提示。如有任何问题,请随时与BitBucket联系。