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