2010-03-07 48 views
15

什么是一个好的免费字节码编辑器?我想要一个编辑器,一个GUI ...java字节码编辑器?

我试过jbe-0.1b没有运气(不能保存字节码的变化)。

+0

我刚刚下载并测试了jbe-0.1b,它对我来说工作得很好。按下Save方法后,该类被修改(在磁盘上)。 – 2010-03-07 22:12:49

+0

是的,它应该工作,但保存时我得到一个控制台错误,它不会保存任何东西......也许有关的方法有很多行...我真正想要的只是一个替代 – AlfaTeK 2010-03-08 11:42:03

+0

jbe休息方法invokeinterface指令。它试图将接口方法名称解析为具有可预测结果的整数。它确实包括来源,所以理论上它可以被修正。 – yatima2975 2010-09-29 11:07:28

回答

9

用户界面没有什么不错,但是您可以使用Eclipse Bytecode Outline插件将任何Java类转换为ASM代码,编辑它并生成更改后的类。这可能是目前最无痛的方式。

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

0

只是为了确定。你有没有尝试反编译类文件?我不知道你想要做什么,但是你可以先反编译这些类,编辑源代码并重新编译。

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

+2

因为依赖关系丢失和复杂的东西我不能重新编译的来源。所以我只需要字节码一些愚蠢的字符串:) – AlfaTeK 2010-03-07 08:18:48

+0

如果你只是需要改变字符串,任何编辑器应该罚款:-)。说真的,我相信它们就像字符串那样存储。 – pajton 2010-03-07 08:23:15

3

我知道jasmin和jasper是通常用于在字节码和汇编语言表示之间进行转换的对。

IIRC,Apache BCEL带有一个工具,用于将类文件反汇编为代码,该代码使用BCEL创建类文件。

我已经用vi了。 :)

0

要创建java字节码,你可以使用ASM,它也提供了eclipse插件。

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

+1

尽管ASM并非真正为手动编辑而设计。 – Antimony 2014-05-24 03:53:16