利用jclasslib修改java编译后的.class文件
来源:互联网 发布:库存数据分析方法 编辑:程序博客网 时间:2024/04/28 17:36
java编译后的.class文件,当然是可以反编译的,但主要是反编译后的java文件不能100%的完全正确,也不能保证能编译回去,所以直接修改.class文件比较靠谱。
1.可以用jd-gui反编译,找到method
2.用java bytecode (jclasslib) 查找要修改的变量地址
3.使用一下代码修改:
package com.zhahost;import java.io.*;import org.gjt.jclasslib.io.ClassFileWriter;import org.gjt.jclasslib.structures.CPInfo;import org.gjt.jclasslib.structures.ClassFile;import org.gjt.jclasslib.structures.constants.ConstantDoubleInfo;public class ModifyByteCode { public void Run() { try { String filePath = "C:\\ExcelExporter.class"; FileInputStream fis = new FileInputStream(filePath); DataInput di = new DataInputStream(fis); ClassFile cf = new ClassFile(); cf.read(di); CPInfo[] infos = cf.getConstantPool(); int pos = 148; if (infos[pos] != null) { ConstantDoubleInfo uInfo = (ConstantDoubleInfo) infos[pos]; uInfo.setDouble(1.0); infos[pos] = uInfo; } cf.setConstantPool(infos); fis.close(); File f = new File(filePath); ClassFileWriter.writeToFile(f, cf); } catch (Exception e) { } }}
- 利用jclasslib修改java编译后的.class文件
- 利用jclasslib修改java编译后的.class文件
- 利用jclasslib修改java编译后的.class文件
- 利用jclasslib修改java编译后的.class文件
- 如何利用JClassLib修改.class文件
- 通过JClassLib修改Class文件
- jclasslib修改class文件内容
- 【修改jar】jclasslib修改jar包里面的class文件
- 直接修改class文件 工具:jclasslib
- 直接修改别人jar包里面的class文件 工具:jclasslib
- 直接修改别人jar包里面的class文件 工具:jclasslib
- 直接修改别人jar包里面的class文件 工具:jclasslib
- 直接修改别人jar包里面的class文件 工具:jclasslib
- 直接修改别人jar包里面的class文件 工具:jclasslib
- 直接修改别人jar包里面的class文件 工具:jclasslib
- 直接修改别人jar包里面的class文件 工具:jclasslib
- 直接修改别人jar包里面的class文件 工具:jclasslib
- java编译后的class文件
- hadoop作业调度详解之JobTracker
- QtQuick中设置代理上网及缓存-待续
- 不要栽倒在feof上
- Effective C++:条款1:尽量用const和inline而不用#define
- linux之DMA API -- 通用设备的动态DMA映射
- 利用jclasslib修改java编译后的.class文件
- 打靶问题
- POJ3258,River Hopscotch,二分加贪心
- openSUSE 12.2下安装texlive并配置环境变量(2012-12-20更新)
- spring MVC和Mybatis集成
- Python sys.argv[]用法
- DMA控制器硬件结构
- [有改动、删减]Windows下的x264多线程分析
- 基于HID 规范的六轴体感游戏手柄设计与实现