我希望能够编辑字节码并重新编译为可执行类文件。我不知道该怎么做。我尝试使用 javap -c 和 -v 进行反编译,编辑一些内容,然后将其更改回我的 Class 文件,但出现错误“错误:无法找到或加载主类 Test.class”。我还想从字节码生成java源代码。有什么帮助吗?我想自己完成此操作,而不使用外部程序。如果可能的话我想自己做。
输出来自javap
不适合汇编器的输入。如果要反汇编和重新汇编 Java 字节码,则需要执行以下操作之一:
- 使用具有第三方汇编器格式的第三方工具。
- 编写您自己的工具来(反)汇编第三方汇编器格式。
- 使用您自己的汇编程序格式编写您自己的工具。
我会看一下Soot and Krakatau,两者都具有完整(反)组装能力。 Soot 支持字节码的一些中间表示。我相信 Krakatau 使用基于流行的 Jasmin 的表示(尽管该工具本身是用 Python 编写的)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)