一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - IDEA利用jclasslib 修改class文件的實現

IDEA利用jclasslib 修改class文件的實現

2021-08-16 10:51還你二月花 Java教程

這篇文章主要介紹了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文件的實現

使用下列代碼更改內容。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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,加上

?
1
2
3
4
5
<dependency>
 <groupid>com.fasterxml.jackson.module</groupid>
  <artifactid>jackson-module-kotlin</artifactid>
 <version>2.9.4.1</version>
</dependency>

到此這篇關于idea利用jclasslib 修改class文件的實現的文章就介紹到這了,更多相關idea jclasslib 修改class內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_41578741/article/details/114066777

延伸 · 閱讀

精彩推薦
  • Java教程如何使用Spring+redis實現對session的分布式管理

    如何使用Spring+redis實現對session的分布式管理

    本篇文章主要介紹了如何使用Spring+redis實現對session的分布式管理,本文主要是在Spring中實現分布式session,采用redis對session進行持久化管理,感興趣的小伙...

    幢一幢10092021-05-12
  • Java教程java實現簡易計算器功能

    java實現簡易計算器功能

    這篇文章主要為大家詳細介紹了java實現簡易計算器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    IOT丶買醉7072021-05-09
  • Java教程Java 8實現圖片BASE64編解碼

    Java 8實現圖片BASE64編解碼

    Java 8終于有了標準的方法來處理base64的編解碼。Java一直缺少BASE64編碼API,以至于通常在項目開發中會選用第三方的API實現。但是,Java 8實現了BASE64編解碼...

    daisy6532020-06-26
  • Java教程Servlet3.0實現文件上傳的方法

    Servlet3.0實現文件上傳的方法

    本篇文章主要介紹了Servlet實現文件上傳的方法,所謂文件上傳就是將本地的文件發送到服務器中保存。有興趣的可以了解一下。...

    Lucky_Light4002020-09-02
  • Java教程IDEA2020配置Git的方法步驟

    IDEA2020配置Git的方法步驟

    這篇文章主要介紹了IDEA2020配置Git的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨...

    菜雞沙礫想逆襲8932020-08-09
  • Java教程Kotlin 單例實例詳解

    Kotlin 單例實例詳解

    這篇文章主要介紹了Kotlin 單例實例詳解的相關資料,需要的朋友可以參考下...

    jinkui2542020-11-26
  • Java教程Java 高并發一:前言

    Java 高并發一:前言

    本系列基于煉數成金課程,為了更好的學習,做了系列的記錄。 本文主要介紹 1.高并發的概念,為以后系列知識做鋪墊。 2.兩個重要的定理...

    Hosee4412020-06-14
  • Java教程spring boot基于Java的容器配置講解

    spring boot基于Java的容器配置講解

    這篇文章主要介紹了spring boot基于Java的容器配置講解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們...

    dust16992021-07-28
主站蜘蛛池模板: 色综合伊人色综合网亚洲欧洲 | 国产欧美精品一区二区三区–老狼 | 国产亚洲欧美在线中文bt天堂网 | 高h巨肉play 高h短篇辣肉各种姿势bl | 男生和女生搞逼逼 | 国产精品久久久久久搜索 | 激情五月开心 | 天美麻豆 | 欧美视频黑鬼大战白妞 | 任我行视频在线观看国语 | 国产大乳美女挤奶视频 | 亚洲国产精品一区二区三区久久 | 我的男友是消防员在线观看 | 久久精品国产久精国产果冻传媒 | 欧美折磨另类系列sm | 91天堂素人| 青青青在线观看国产精品 | 免费在线观看日韩 | 国产午夜精品不卡视频 | 国产精品色爱综合网 | 亚洲香蕉网久久综合影院3p | 亚洲狠狠婷婷综合久久久久网站 | 欧美激烈精交gif动态图18p | 韩国久播影院理论片不卡影院 | 亚洲视频999| 俄罗斯极品h在线 | h杯奶水太多h | 欧美日韩国产最新一区二区 | 精品国产成人a区在线观看 精品高潮呻吟99AV无码视频 | 日本在线小视频 | 国产精品久久久久jk制服 | 国产成人盗拍精品免费视频 | 日日操美女 | 免费精品国产 | 无限在线观看视频大全免费高清 | 三上悠亚精品专区久久 | 大奶妈咪女教师 | 99精品视频在线观看 | 四虎精品永久在线网址 | 91影视在线看免费观看 | 精品国产成人a区在线观看 精品国产91久久久久久久 |