用 javassist 来修改 class 文件

import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;

public class Test {

    public static void main(String[] args) throws Exception {
        ClassPool classPool = ClassPool.getDefault();
        // 必须将class文件放在这个工程编译后的class文件中,路径也对应起来
        CtClass ctClass = classPool.get("com.ambitionstone.esa2000.pki.AZTPkiServlet");

        //设置方法需要的参数,一定要能匹配起来,而且必须引入这些参数类的包
        CtClass[] param = new CtClass[4] ;
        param[0] = classPool.get("javax.servlet.http.HttpServletRequest") ;
        param[1] = classPool.get("javax.servlet.http.HttpServletResponse") ;
        param[2] = classPool.get("int") ;
        param[3] = classPool.get("java.lang.String") ;

        // 找到需要修改的行所在的方法
        CtMethod  method = ctClass.getDeclaredMethod("doOnlineValidate", param);

        // 在这个方法的182行添加关闭文件流的方法
        method.insertAt(182, "fin.close();");

        // 将文件写到指定的目录,生成之后在test\com\ambitionstone\esa2000\pki\AZTPkiServlet\这个文件夹下面可以找到编译后的类
        ctClass.writeFile("D:\\test") ;
    }
}
时间: 2024-10-13 06:12:19

用 javassist 来修改 class 文件的相关文章

修改class文件

http://yucaifu1989.iteye.com/blog/1850500 http://blog.csdn.net/hexin373/article/details/6669813 使用javassist对已经编译好的class文件进行修改 博客分类: 反编译破解 javassist使用教程 javassist使用教程(jar破解) Javassist是一个开源的java字节码操作工具,主要是对已经编译好的class文件进行修改和处理,这里我写了一个简单的说明,复杂的请去看www.ja

Linux下修改.bash_profile 文件改变PATH变量的值

Linux中含有两个重要的文件 /etc/profile和$HOME/.bash_profile 每当系统登陆时都要读取这两个文件,用来初始化系统所用到的变量,其中/etc/profile是超级用户所用,$HOME/.bash_profile是每个用户自己独立的,我们可以修改该文件来设置一些变量. 命令用法如下 $ cd (进入用户登陆目录) $ls –al .bash_profile(.bash_profile为隐藏文件,因此要用ls –a命令查找) $vi .bash_profile(用vi

python脚本修改hosts文件

记一次使用python脚本来修改hosts文件,由于公司服务器需要换ip地址,服务器里都是Linux系统,而hosts文件中有些解析的ip,手动一台一台的解析太麻烦,就写了这个脚本.本来以为感觉很简单,但是写的过程真不好写,也试过shell脚本,不过也不好写.然后就直接用python写,也找了一些网上的教程,不过也没有很好的解决问题.下面把脚本贴出来记录下 #!/usr/bin/python #coding:utf8 import os import sys import re hostsfil

pdf文件怎么修改 修改PDF文件的两种方法

都说PDF格式的文件不能修改,我就呵呵了!不管你们信不信,反正我是不信.因为我会修改PDF文件,并且方法还不止一种.想知道我是怎么修改PDF文件的吗?下面我就告诉大家修改PDF文件的两种方法. 方法一 1.方法一就是将PDF文件转换成一种可容易编辑的文档,如:word.excel.ppt等格式,然后再进行编辑,编辑好后再将其转换成PDF格式,是不是很简单!具体是该如何转换的,下面有详细教程. 2.下载一个PDF转换器,并将它安装在电脑上.工具最好是支持双向转换的那种,如:http://www.x

pdf格式怎么编辑 如何编辑修改pdf文件

现如今,互联网上为了保护版权,大多数资料都是PDF格式的.所以我们在下载文件后需要对PDF进行编辑修改.可是PDF格式怎么编辑?如何编辑修改PDF文件已成为大家共同的一个话题.下面小编就来教下大家怎么编辑修改PDF文件.     如何编辑修改pdf文件的详细步骤:     1.编辑修改PDF文件之前,需要准备一个工具:迅捷PDF编辑器.这个可以自己在网上下载,下载后将它安装在电脑上就可以了. 2.由于小编英文不是太好,这里下载的是一个中文版PDF编辑器,双击快捷方式,进入到软件界面. 3.接下来

myeclipse修改xml文件字体大小

myeclipse中怎么修改xml文件的字体大小呢?网上搜了很多,得到的答案基本都是: window--preferences--General--appearance--colors   and   fonts--basic--text font 其实这项只能修改java文件的字体大小,并不能修改xml文件的字体,如果要修改xml文件字体大小,点击 修改这项!

给大家分享web开发新手修改hosts文件实现本地域名访问的正确方法

1.如何正确修改hosts文件: 一般打开hosts文件里面都会有个示例,按照其格式修改即可 比如以下内容: # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host 即代表打开rhino.acme.com这个网址将解析到102.54.94.97,ip地址与网址间至少有一空格,当然建议通过按Table键来编辑,即美观又不容易编写失误;这也就是通过解

【转】Ubuntu修改Hosts文件工具HostsTool使用说明

国内IT开发者都会面临访问google等国外网站不稳定的问题,这些问题一方面可以通过番墙来解决,也可以通过修改本机hosts文件来解决. 之前在Windows上一直使用HostsTool这个国人的修改hosts文件软件,切换到Ubuntu环境自然也首先想到这个工具.Ubuntu安装方法如下: 1.下载最新版HostsTool for linux 打开https://hosts.huhamhire.com/get-hosts-x11.html,也可以这里下载1.9.8版本,更新日期:2014030

Ubuntu下修改hosts文件

Ubuntu系统的Hosts只需修改/etc/hosts文件,修改完之后要重启网络.具体过程如下:1.修改hostssudo gedit /etc/hosts2.添加解析记录( . )或者从github上下载的hosts文件 保存时终端报错: (gedit:2771): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.