专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

用Swing写了一个Class编辑器:ClassEditor

一、它是什么?

顾名思义,它是一个用来编辑字节码的简单的小工具。

二、它能干嘛?

字节码编辑器?据我所知,修改字节码相当麻烦。一般情况下,我们需要:

1、 将 jar 包用 JD-GUI 等工具,将所有 Class 文件全部反编译成 Java 文件;
2、 外网安装 Idea,将该Java项目拖到 Idea;
3、 解决各种 Maven 依赖,但有些依赖在内网 Maven 仓库(common-parent.pom、common-project、HbaseService、KafkaService等),故下载失败,且解决较困难;
4、 编辑相关代码,执行 mvn package,得到新 jar 包。

目前来看,修改 jar 包的确比较麻烦。因此,花了点时间,写了一个简陋的小工具,解决在现网上无法即时编辑 class 的问题。

注意,它用来解决一些较简单、易修改的需求,如果较复杂、涉及代码较多,还请绕道……(∩_∩)

三、怎么使用?

1、运行环境

JDK1.5+ (现网一般都有这个环境吧)

2、使用方法

  • 运行 ClassEditor.exe 56_1.png
  • 填写:Jar包位置
  • 填写:Class类名(全路径)
  • 选择:操作的对象,支持字段和方法 56_2.png
  • 选择:操作的类型 56_3.png56_4.png
  • 生成Class文件,Class文件会生成在Jar包所在路径。

最后,使用 7Z 等压缩工具,将该Class文件覆盖原Class文件即可!(注意覆盖之前,尽量备份原 Jar 包)

3、使用场景

  • 修改三方库jar包的源码|破解软件(如Gson的某BUG:反序列化Map时,int转double问题,解决思路即使用本工具修改某处源码即可,详见:链接
  • 某些全局控制开关(可能是一个Boolean类型的全局变量),由于没有配置在配置文件,但是急需修改其开关状态;
  • 由于没有对某段代码进行 try catch,导致运行时异常,程序假死/退出,需要马上捕获异常;
  • 方法内某段代码逻辑有问题,需要修改;
  • 急需打印某些对象;
  • 急需监控某方法/代码的执行时间
  • 其他……

4、注意事项

  • 不支持泛型等语法糖,编写代码时请去泛型
  • Class文件的每次修改都是在上次修改的基础上进行,如需重置,请重启程序;
  • 如果编写的代码,点击:生成Class文件时提示:CannotComileException:[source error] no such class:xxx,不要慌,只需在编辑框中使用import导入相关Class即可: 56_5.png

四、下载地址

链接:download.csdn.net/download/lo…

文章永久链接:https://tech.souyunku.com/19387

未经允许不得转载:搜云库技术团队 » 用Swing写了一个Class编辑器:ClassEditor

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们