91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在IDEA中jclasslib對class文件進行修改

發布時間:2021-02-26 16:33:52 來源:億速云 閱讀:2301 作者:Leah 欄目:開發技術

這篇文章給大家介紹如何在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文件進行修改就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丹寨县| 绿春县| 揭西县| 富宁县| 涟源市| 寻乌县| 沂水县| 左权县| 石嘴山市| 钟山县| 泰安市| 兴隆县| 临高县| 东方市| 故城县| 渝中区| 梅州市| 丽江市| 绥化市| 张北县| 青川县| 会东县| 甘孜县| 弥渡县| 都昌县| 福海县| 白城市| 贺兰县| 松阳县| 富平县| 宜良县| 七台河市| 凭祥市| 哈密市| 尖扎县| 林甸县| 腾冲县| 瑞昌市| 岑溪市| 阜阳市| 古丈县|