Java 如何更改已编译jar中的double?
我有一个jar,其中包含一行代码,比较两个双精度,一个值为Java 如何更改已编译jar中的double?,java,bytecode-manipulation,Java,Bytecode Manipulation,我有一个jar,其中包含一行代码,比较两个双精度,一个值为0.7,但我需要能够将其更改为0.0 我不能使用反射或类似的东西,因为这是一个编译过的jar文件(不是开源的),但是更改这个值是至关重要的,因为如果它保持在0.7上,就会有一个巨大的滞后问题 我想编辑字节码,但找不到任何好的软件 非常感谢您的帮助。如果您可以反编译该类,您可以进行更改并重新编译它。然后将JAR文件与您的修补类一起卷起。这取决于类和用来编译它的JDK,这将有多容易 参考文献:(Wiki链接,因为JAD基本上是一个死气沉沉的项
0.7
,但我需要能够将其更改为0.0
我不能使用反射或类似的东西,因为这是一个编译过的jar文件(不是开源的),但是更改这个值是至关重要的,因为如果它保持在0.7
上,就会有一个巨大的滞后问题
我想编辑字节码,但找不到任何好的软件
非常感谢您的帮助。如果您可以反编译该类,您可以进行更改并重新编译它。然后将JAR文件与您的修补类一起卷起。这取决于类和用来编译它的JDK,这将有多容易
参考文献:(Wiki链接,因为JAD基本上是一个死气沉沉的项目,尽管它在我需要的时候仍能继续工作。)如果你使用Eclipse,你可能会在JD Eclipse上有好运。还有一个项目,我的成功有限。研究如何反编译程序Java类,然后自己重新编译软件 来自另一个类似问题:() 如果你有这门课的资料来源,那么我的方法是:
- 获取JAR文件
- 获取单个类的源代码
- 使用类路径上的JAR编译源代码(这样,您就不必编译任何其他内容;JAR已经包含二进制文件也不会有什么坏处)。您可以为此使用最新的Java版本;只需使用
和-source
将编译器降级即可-target
- 使用
或Ant任务将JAR中的类文件替换为新的类文件jaru