一尺碰、添加依賴
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.20.0-GA</version>
</dependency>
二记餐、定位要修改的內(nèi)容
private static void descompile(){
//要修改的jar包
ClassPool.getDefault().insertClassPath("D:\\www\\jar\\cad-21.3.jar");
//修改的類名
CtClass zzZJJClass=ClassPool.getDefault().getCtClass("com.cad.internal.xx.a");
//拼接方法參數(shù) public void a(String var3){sout}
CtClass[]strings=new CtClass[1];
strings[3]=ClassPool.getDefault().getCtClass("java.lang.String");
CtMethod zzv=zzZJJClass.getDeclaredMethod("a",strings);
//修改方法體
zzv.setBody("{return 0;}");
//導(dǎo)出修改過的class文件,添加到j(luò)ar包
zzZJJClass.writeFile("D:\\www\\jar\\\\cad");
}
三粗恢、將修改過的class文件柑晒,覆蓋到j(luò)ar包
1、.jar包/META-INF中的.RSA和.SF文件刪掉
img.png