首页 > 基础资料 博客日记

Java的反编译:直接修改class字节码文件

2024-07-13 03:00:07基础资料围观284

文章Java的反编译:直接修改class字节码文件分享给大家,欢迎收藏Java资料网,专注分享技术知识

前段时间接到一个需求,要求修改收费系统的收费倍率,由于系统年代久远,没有源代码,需要反编译再修改。

用到的软件如下:

情况一:参数为静态变量

此时修改比较简单,方法如下:

  1. 直接用IDEA打开class文件,可以找到相关的变量

  2. 在菜单中选择View->Show Bytecode with Jclasslib

  3. 在弹出的侧栏中找到相关字段

情况二:参数在方法内部

在大多数情况下,需要对整个项目进行反编译,以研究系统的运行机制,此时可以利用jd-gui进行反编译。

  1. 双击"jd-gui.jar"打开软件,并找到class文件路径。

  2. 此时可以找到方法内的费率参数,可以看到类型是double

  3. 返回IDEA,利用Show Bytecode with Jclasslib功能,打开常量池,找到double常量,并修改

⚠️注意:由于Java的机制,修改常量池会影响该class文件内所有使用相同常量的函数,请确保没有其它函数在使用这个常量


文章来源:https://blog.csdn.net/wjy2311077/article/details/137061495
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云