手动更改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);     

    }     

}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值