iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何在IDEA中jclasslib对class文件进行修改
  • 445
分享到

如何在IDEA中jclasslib对class文件进行修改

2023-06-06 14:06:37 445人浏览 薄情痞子
摘要

这篇文章给大家介绍如何在idea中jclasslib对class文件进行修改,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。idea安装jclasslib-bytecode-viewer插件file–>settin

这篇文章给大家介绍如何在idea中jclasslib对class文件进行修改,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

idea安装jclasslib-bytecode-viewer插件

file–>settings–>pluGIS ,搜索安装jclasslib-bytecode-viewer,重启idea。

如何在IDEA中jclasslib对class文件进行修改

准备好class文件

把要修改的class文件用idea打开。

使用jclasslib

view–>show bytecode with jclasslib.
常量池,使用过滤器过滤文本。找到对应的指向数字。

如何在IDEA中jclasslib对class文件进行修改

如何在IDEA中jclasslib对class文件进行修改

如何在IDEA中jclasslib对class文件进行修改

使用下列代码更改内容。

package com.yys.screendisplay.controller;import java.io.*;import com.sun.org.apache.bcel.internal.classfile.ConstantString;import org.gjt.jclasslib.io.ClassFileWriter;import org.gjt.jclasslib.structures.ClassFile;import org.gjt.jclasslib.structures.Constant;import org.gjt.jclasslib.structures.constants.ConstantDoubleInfo;import org.gjt.jclasslib.structures.constants.ConstantUtf8Info;import org.gjt.jclasslib.structures.constants.ConstantStringInfo;public class Test { public static void main(String[] args) throws Exception {  String filePath = "C:\\Users\\HMS\\Desktop\\AppService.class";  FileInputStream fis = new FileInputStream(filePath);  DataInput di = new DataInputStream(fis);  ClassFile cf = new ClassFile();  cf.read(di);  Constant[] infos = cf.getConstantPool();  int count = infos.length;  for (int i = 0; i < count; i++) {   if (infos[i] != null) {    if(i==1813){     System.out.print(i);     System.out.print(" = ");     System.out.print(infos[i].getVerbose());     System.out.print(" = ");     System.out.println(infos[i]);     System.out.println(infos[i].getClass().getSimpleName());     ConstantUtf8Info uInfo = (ConstantUtf8Info)infos[i];//根据对应的类型转换     uInfo.setString("");     infos[i]=uInfo;    }   }  }  cf.setConstantPool(infos);  fis.close();  File f = new File(filePath);  ClassFileWriter.writeToFile(f, cf); }}

其他

对应的jar包可以在idea安装的插件里面找。

如何在IDEA中jclasslib对class文件进行修改

报java.lang.ClassNotFoundException: Kotlin.JVM.internal.Reflection,加上

<dependency> <groupId>com.fasterxml.jackson.module</groupId>  <artifactId>jackson-module-kotlin</artifactId> <version>2.9.4.1</version></dependency>

关于如何在IDEA中jclasslib对class文件进行修改就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 如何在IDEA中jclasslib对class文件进行修改

本文链接: https://www.lsjlt.com/news/247339.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在IDEA中jclasslib对class文件进行修改
    这篇文章给大家介绍如何在IDEA中jclasslib对class文件进行修改,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。idea安装jclasslib-bytecode-viewer插件file–>settin...
    99+
    2023-06-06
  • 如何在CMD中运行 Idea编译后的class文件
    本文章向大家介绍如何在CMD中运行 Idea编译后的class文件,主要包括{**}的使用实例,应用技巧,基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Idea编译后java文件和class文件不在同一个目录(后...
    99+
    2023-06-06
  • 如何在IDEA中对Docker进行配置
    如何在IDEA中对Docker进行配置?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。配置docker远程连接端口vi /usr/lib/systemd/system/...
    99+
    2023-06-06
  • 如何在Python中对文件进行操作
    目录前言1.open()函数2.读文件3.写文件4.通过 with 来读写文件前言 在Python中,我们可以通过一些内置函数来操作电脑上的文件,并对文件进行读写,这种读写操作是很常...
    99+
    2024-04-02
  • 怎么利用java对文件名进行修改
    怎么利用java对文件名进行修改?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。实现代码: import java.io.*;  cl...
    99+
    2023-05-31
    java ava
  • 使用Java怎么对文件名进行修改
    这篇文章给大家介绍使用Java怎么对文件名进行修改,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。方法一:import java.io.*;public class test1{ public static void m...
    99+
    2023-05-31
    java ava
  • 如何在spring中对配置文件进行加密
    这篇文章将为大家详细讲解有关如何在spring中对配置文件进行加密,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。通过继承spring配置类并重写处理方法实现密文解密public c...
    99+
    2023-05-30
    spring
  • 浅析git中如何进行修改文件并提交
    在进行软件开发时, 版本控制是非常重要的。 而 Git 是一个流行的版本控制系统,它非常简单易用,受到很多开发者的青睐。在 Git 中,文件的修改是一个非常基础的操作,本文将介绍如何进行 git 修改文件并提交。1. 创建 Git 仓库如果...
    99+
    2023-10-22
  • Linq中怎么对XML文档进行修改
    这篇文章将为大家详细讲解有关Linq中怎么对XML文档进行修改,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Linq修改XML文档XElement element =&n...
    99+
    2023-06-17
  • 如何在R语言中对文本文件进行读写
    如何在R语言中对文本文件进行读写?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。具体如下:read.table(file,sep,hesder)#file 文件路径#s...
    99+
    2023-06-08
  • 怎么对logback.xml配置文件在resource外的位置进行修改
    怎么对logback.xml配置文件在resource外的位置进行修改?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。根据LoggerFactory.getLog...
    99+
    2023-06-06
  • python中如何对文件进行操作
    这篇文章主要介绍python中如何对文件进行操作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一.文件基本操作1.1 文件打开和关闭open(‘文件名称','打开模式')模式:r(只读,指针再...
    99+
    2023-06-15
  • 如何在一个HTML文件中对文本进行格式化
    这篇文章主要介绍了如何在一个HTML文件中对文本进行格式化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。<html> <...
    99+
    2024-04-02
  • nodejs框架如何对json文件进行增删改查
    这篇文章主要为大家展示了“nodejs框架如何对json文件进行增删改查”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“nodejs框架如何对json文件进行增删...
    99+
    2024-04-02
  • MySQL5.7中如何进行在线动态修改innodb_buffer_pool_size
    本篇文章为大家展示了MySQL5.7中如何进行在线动态修改innodb_buffer_pool_size,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 ...
    99+
    2024-04-02
  • 如何在Linux中用Vim对文件进行密码保护
    小编给大家分享一下如何在Linux中用Vim对文件进行密码保护,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Vim 是一种流行的、功能丰富的和高度可扩展的 Lin...
    99+
    2023-06-16
  • 如何在java中使用socket对zip文件进行传输
    今天就跟大家聊聊有关如何在java中使用socket对zip文件进行传输,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。服务器端程序:import java.io.*;import j...
    99+
    2023-05-31
    java socket zip文件
  • 如何在golang中修改文件内容
    今天编程网给大家带来了《如何在golang中修改文件内容》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支...
    99+
    2024-04-05
  • 在PHP中如何进行文件操作?
    PHP是一种广为应用的服务器端编程语言,在开发过程中经常需要进行文件操作。文件操作涉及读取、写入、删除和追加文件等操作。本文将介绍在PHP中如何进行文件操作。打开文件打开文件是进行文件操作的第一步,通过PHP内置的fopen()函数可以打开...
    99+
    2023-05-21
    PHP文件操作 文件读写PHP PHP目录操作
  • 如何在Python中进行文件操作
    如何在Python中进行文件操作文件操作是编程中常见的任务之一,而Python提供了丰富的文件操作功能和简洁的语法来帮助我们有效地进行文件的读写和处理。本文将介绍如何在Python中进行文件操作,并提供一些具体的代码示例。打开和关闭文件在进...
    99+
    2023-10-22
    Python文件操作
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作