Java字节码编辑器?

17

有什么好用的免费字节码编辑器吗?我需要一个带有图形界面的编辑器……

我尝试使用jbe-0.1b但没成功(无法保存字节码更改)。


我刚刚下载并测试了jbe-0.1b,它对我来说运行良好。在按下“保存方法”后,类被修改(在磁盘上)。 - user85421
是的,它应该可以工作,但是当保存时我会得到一个控制台错误,而且什么也没有保存...也许与方法有很多行有关...我真正想要的只是一种替代方案。 - AlfaTeK
jbe在包含invokeinterface指令的方法中会出现错误。它试图将接口方法名称解析为整数,结果是可以预测的。理论上,它包含源代码,因此可以修复该问题。 - yatima2975
请参考类似问题https://dev59.com/I3A75IYBdhLWcg3waIUJ,其中提供了替代方案。 - Vadzim
4个回答

9

没有带有用户界面的好工具,但是你可以使用Eclipse字节码轮廓插件将任何Java类转换为ASM代码,编辑它,并生成更改后的类。目前,这可能是最无痛的方法。

http://asm.ow2.org/eclipse/index.html


3
我知道jasmin和jasper是通常用于将字节码和汇编语言表示之间进行翻译的一对工具。
如果我没记错的话,Apache BCEL附带了一个工具,可以将类文件反汇编为代码,并使用BCEL创建类文件。
我已经使用过vi。 :)

0

只是为了确保。你是否尝试过反编译类文件?我不知道你具体想做什么,但你可以先反编译这些类,编辑源代码,然后重新编译。

JAD 是一个非常好的反编译器,它可以处理相当丑陋的字节码并从中生成可读的源代码。


2
由于缺少依赖项和复杂的东西,我无法重新编译源代码。所以我只需要将一些愚蠢的字符串编译成字节码 :) - AlfaTeK
如果你只需要更改字符串,任何编辑器都可以。真的,我相信它们只是以字符串的形式存储在那里。 - pajton

0

要创建Java字节码,您可以使用ASM,它还提供了Eclipse插件。

ASM是一个通用的Java字节码操作和分析框架。它可用于修改现有类或直接以二进制形式动态生成类。


1
汇编语言并不是为手动编辑而设计的。 - Antimony

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接