【问题标题】:java bytecode editor? [closed]java字节码编辑器? [关闭]
【发布时间】:2010-03-07 08:04:05
【问题描述】:

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

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

【问题讨论】:

  • 我刚刚下载并测试了 jbe-0.1b,它对我来说很好用。按下Save method 后,该类被修改(在磁盘上)。
  • 是的,它应该可以工作,但是保存时我得到一个控制台错误并且它没有保存任何东西......也许与有很多行的方法有关......我真正想要的只是一个替代
  • jbe 在包含 invokeinterface 指令的方法上中断。它尝试将接口方法名称解析为具有可预测结果的整数。它确实包含来源,因此理论上可以修复。
  • 查看类似问题stackoverflow.com/questions/3308351/… 以及其他答案。

标签: java bytecode


【解决方案1】:

UI 没有什么像样的,但您可以使用 Eclipse Bytecode Outline 插件将任何 Java 类转换为 ASM 代码,对其进行编辑并生成更改后的类。这可能是目前最无痛的方式。

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

【讨论】:

    【解决方案2】:

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

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

    我用过 vi。 :)

    【讨论】:

      【解决方案3】:

      只是为了确定。您是否尝试过反编译类文件?我不知道你到底想做什么,但你可以先反编译类,编辑源代码并重新编译。

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

      【讨论】:

      • 由于缺少依赖项和复杂的东西,我无法重新编译源代码。所以我只需要对一些愚蠢的字符串进行字节编码:)
      • 如果您只需要更改字符串,任何编辑器都应该没问题:-)。说真的,我相信它们在那里存储为字符串。
      【解决方案4】:

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

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

      【讨论】:

      • ASM 并不是真正为手动编辑而设计的。
      猜你喜欢
      • 2011-03-19
      • 2011-03-10
      • 1970-01-01
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      相关资源
      最近更新 更多