import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
public class Test {
public static void main(String[] args) throws Exception {
ClassPool pool = ClassPool.getDefault();
//设置目标类的路径,确保能够找到需要修改的类,这里我指向firestorm.jar
//解包后的路径
pool.insertClassPath("d:/work/firestorm/firestorm") ;
//获得要修改的类
CtClass cc = pool.get("com.codefutures.if.if");
//设置方法需要的参数
CtClass[] param = new CtClass[3] ;
param[0] = pool.get("java.security.PublicKey") ;
param[1] = pool.get("byte[]") ;
param[2] = pool.get("byte[]") ;
//得到方法
CtMethod m = cc.getDeclaredMethod("a", param);
//插入新的代码
m.insertBefore("{return true ;}") ;
//保存到文件里
cc.writeFile() ;
}
}
import javassist.CtClass;
import javassist.CtMethod;
public class Test {
public static void main(String[] args) throws Exception {
ClassPool pool = ClassPool.getDefault();
//设置目标类的路径,确保能够找到需要修改的类,这里我指向firestorm.jar
//解包后的路径
pool.insertClassPath("d:/work/firestorm/firestorm") ;
//获得要修改的类
CtClass cc = pool.get("com.codefutures.if.if");
//设置方法需要的参数
CtClass[] param = new CtClass[3] ;
param[0] = pool.get("java.security.PublicKey") ;
param[1] = pool.get("byte[]") ;
param[2] = pool.get("byte[]") ;
//得到方法
CtMethod m = cc.getDeclaredMethod("a", param);
//插入新的代码
m.insertBefore("{return true ;}") ;
//保存到文件里
cc.writeFile() ;
}
}