一、添加依赖
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.20.0-GA</version>
</dependency>
二、定位要修改的内容
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");
//拼接方法参数 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;}");
//导出修改过的class文件,添加到jar包
zzZJJClass.writeFile("D:\\www\\jar\\\\cad");
}
三、将修改过的class文件,覆盖到jar包
1、.jar包/META-INF中的.RSA和.SF文件删掉
img.png