手动更改class文件

更改class文件步骤:

1、用java反编译工具翻译,看是否有需要更改的信息。

2、用jclasslib工具查看需要更改的东西在哪一行。

3、用java代码更改class文件,如下:

    /**

     *

     *   读取class文件,并更改。

     *

     **/

    public class Reclass {     

    @SuppressWarnings("deprecation")

public static void main(String[] args) throws Exception {     

    

        String filePath = "这个是文件路径!";     

        FileInputStream fis = new FileInputStream(filePath);     

             

        DataInput di = new DataInputStream(fis);     

        ClassFile cf = new ClassFile();     

        cf.read(di);     

        CPInfo[] infos = cf.getConstantPool();     

             

        int count = infos.length;     

        for (int i = 0; i < count; i++) {     

            if (infos[i] != null) {     //如果文件内容不是空。

                System.out.print(i);     

                System.out.print(" = ");     

                System.out.print(infos[i].getVerbose());     

                System.out.print(" = ");     

                System.out.println(infos[i].getTagVerbose());     

                if(i == 60){     //表示在哪一行。

                    ConstantUtf8Info uInfo = (ConstantUtf8Info)infos[i];     

//                    http://10.7.1.201/services/weixin/MessageService?wsdl 

                    uInfo.setBytes("需要更改的东西".getBytes());     

                    infos[i]=uInfo;     

                }   

            }     

        }     

        cf.setConstantPool(infos);     

        fis.close();     

        File f = new File(filePath);     

        ClassFileWriter.writeToFile(f, cf);     

    }     

}  

猜你喜欢

转载自mengtaohj.iteye.com/blog/2206693
今日推荐