7

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

4

1 回答 1

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实例的重载,您可以使用它来切换某些功能并为反编译器提供有关如何解决类依赖关系的提示。如有任何问题,请随时在 Bi​​tBucket 上与我联系。

于 2014-03-04T17:33:13.697 回答