Tag: .class文件

在已编译的类中更改字符串常量

我需要在已部署的Java程序中更改字符串常量,即编译的.class -files中的值。 它可以重新启动,但不容易重新编译(虽然如果这个问题没有答案,这是一个不方便的选择)。 这可能吗? 更新:我只是用hex编辑器查看了文件,看起来我可以轻松地在那里更改字符串。 这会起作用,即不会使文件的某种签名无效吗? 旧字符串和新字符串都是字母数字,如果需要,可以是相同的长度。 更新2:我修复了它。 因为我需要更改的特定类非常小并且在新版本的项目中没有更改,所以我可以编译它并从那里获取新类。 出于教育目的,仍然对不涉及编译的答案感兴趣。

是否有java类文件/字节码编辑器来编辑指令?

是否有用于编辑java类文件的实用程序(或eclipse插件)? 我想操纵java类文件的字节码而不重新编译它也没有完整的构建路径。 例如,重命名方法,添加/删除指令,更改常量等。 我发现的唯一工具是: 但是它的function非常有限( 例如,重命名事物和操纵指令是不可能的 )。 jbe不保存更改(可能因为类validation失败 – 在我进行任何更改之前,尽管类运行完美) (jbe最初有一个类路径问题,将jbe.bat文件的类路径添加到了帮助中)