Javassist使用经验_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Javassist使用经验

Javassist使用经验

 2018/1/25 21:49:59  godlewis  程序员俱乐部  我要评论(0)
  • 摘要:最近在做某个软件的破解程序的时候,很久前使用的javassist粉末登场了一次。使用过程中开始有点不顺,经过调试总算OK了。现将解决内容公布如下:1.在修改某jar包某类的方法时,如果想直接重写方法体,注意方法体里面的各种类,要直接写类全局名称,因为编译时是可能imports会出现问题。2.在方法体内,引用形参,用$1,$2,$3,不能用反编译过来的变量名字。3.for循环,编译时不支持jdk5的for(xx:xxx)的写法,要改成常规for循环或迭代。4.对同名的不同方法,获取时
  • 标签:使用 Java 经验
最近在做某个软件的破解程序的时候,很久前使用的javassist粉末登场了一次。
使用过程中开始有点不顺,经过调试总算OK了。
现将解决内容公布如下:

1. 在修改某jar包某类的方法时,如果想直接重写方法体,注意方法体里面的各种类,要直接写类全局名称,因为编译时是可能imports会出现问题。
2. 在方法体内,引用形参,用$1,$2,$3,不能用反编译过来的变量名字。
3. for循环,编译时不支持 jdk5的for(xx:xxx)的写法,要改成常规for循环或迭代。
4. 对同名的不同方法,获取时,采用
class="java">
 cc = cp.get("xxx");
        CtClass[] param = new CtClass[4];
        param[0] = cp.get("java.lang.String");
        param[1] = cp.get("java.lang.String");
        param[2] = cp.get("java.lang.String");
        param[3] = cp.get("int");
        m = cc.getDeclaredMethod("a", param);


上一篇: 思维导图——不知道你们看了之后有什么感想 下一篇: 没有下一篇了!
发表评论
用户名: 匿名