IDEA利用jclasslib 修改class文件的实现
idea安装jclasslib-bytecode-viewer插件
file–>settings–>plugis,搜索安装jclasslib-bytecode-viewer,重启idea。
准备好class文件
把要修改的class文件用idea打开。
使用jclasslib
view–>showbytecodewithjclasslib.
常量池,使用过滤器过滤文本。找到对应的指向数字。
使用下列代码更改内容。
packagecom.yys.screendisplay.controller; importjava.io.*; importcom.sun.org.apache.bcel.internal.classfile.ConstantString; importorg.gjt.jclasslib.io.ClassFileWriter; importorg.gjt.jclasslib.structures.ClassFile; importorg.gjt.jclasslib.structures.Constant; importorg.gjt.jclasslib.structures.constants.ConstantDoubleInfo; importorg.gjt.jclasslib.structures.constants.ConstantUtf8Info; importorg.gjt.jclasslib.structures.constants.ConstantStringInfo; publicclassTest{ publicstaticvoidmain(String[]args)throwsException{ StringfilePath="C:\\Users\\HMS\\Desktop\\AppService.class"; FileInputStreamfis=newFileInputStream(filePath); DataInputdi=newDataInputStream(fis); ClassFilecf=newClassFile(); cf.read(di); Constant[]infos=cf.getConstantPool(); intcount=infos.length; for(inti=0;i其他
对应的jar包可以在idea安装的插件里面找。
报java.lang.ClassNotFoundException:kotlin.jvm.internal.Reflection,加上
com.fasterxml.jackson.module jackson-module-kotlin 2.9.4.1 到此这篇关于IDEA利用jclasslib修改class文件的实现的文章就介绍到这了,更多相关IDEAjclasslib修改class内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。