我正在寻找可以将.class文件解析为Java对象的工具(或工具链)。类似的东西:
JavaClass parsed = myTool.parse("/some_folder/SomeClassFile.class");
解析后的对象将具有以下方法:
List<JavaMethod> methods = parsed.getMethods();
List<JavaInterface> interfaces = parsed.getImplementedInterfaces();
List<JavaMethod> calls = someMethod.getCalls();
我的约束是:
当然我可以做一些编码,所以例如如果输出是xml就可以了。
所以这是我到目前为止找到的选项 - 没有一个令人满意:
所以这就是我现在的位置!在此先感谢您的帮助!
答案 0 :(得分:2)
我推荐ASM。从我所看到的,它是迄今为止最流行的Java字节码库,是的,它仍然保持着。在撰写本文时,它似乎是the most recent change 41天前。所以它并不是一直在搅拌,但它也不会被抛弃。有了这样一个常用的库,就很容易找到支持。
答案 1 :(得分:0)
我为JBBP做了一些测试来解析java类,看看它,可能会对你有用https://github.com/raydac/java-binary-block-parser/blob/master/src/test/java/com/igormaznitsa/jbbp/it/ClassParsingTest.java