使用Arthas将无源码类通过反编译调整,再重新编译

Arthas 是Alibaba开源的Java诊断工具

下载

用arthas-boot启动

1、或者在解压后,在文件夹里有arthas-boot.jar,直接用java -jar的方式启动:
java -jar arthas-boot.jar 服务pid
2、通过jad来反编译Main Class
jad --source-only com.gddst.resource.System.SystemConfigApi(指定反编译的类) > c:/tmp/SystemConfigApi.java(指定反编译后的位置)
3、查看JVM已加载的类信息
sc -d *SystemConfigApi | grep classLoaderHash
4、Memory Compiler/内存编译器,编译.java文件生成.class
mc -c 6b75d045 c:/tmp/SystemConfigApi.java(修改后的java文件) -d c:/tmp(编译后路径)
5、如果不想重启服务可以选择redefine
redefine 服务内的class类路径(如E:/app/apache-tomcat-8.5.38/.../SystemConfigApi.class)

 

posted @ 2021-12-22 19:04  嘻嘻哈哈大只佬  阅读(1309)  评论(0编辑  收藏  举报