使用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)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM