使用JBE修改.class字节码文件

时间:2024-06-02 07:54:39

1、场景

    在excel导出页面数据的时候,发现最多只能导出5000条,但是客户方要求至少得导出66500条吧,本以为问题很简单,我并且还找到了那个类,直接一改,就行了;但是当我测试得时候发现,改动没有效果,纳闷儿了,就好好得看了一下那个类,里边的方法居然都是私有的,我突然意识到,很可能得修改jar包里的.class文件了,懵逼了。

    客户又催着让我解决这个问题,但是吧,建议最多的方法就是通过jclasslib工具来编译.class文件,写一个类去替换相关的内容,别人给的例子都是那么的简单,以至于如果我的代码是不规范的,木法按照别人的例子操作,尝试了半天,终于绝望了,抱着试试看的态度,我又搜到jbe工具可以直接对字节码进行编辑,我就尝试着使用了jbe,果然好使

2、jbe工具

点击下载jbe

3、开发环境

window10 

4、操作步骤

(1)解压下载的jbe工具,找到jbe-0.1.1\jbe文件夹下的jbe.bat,双击运行;

(2)点击左上角的file,选择open class file,即可打开class文件,如下图:

使用JBE修改.class字节码文件

(3)找到你要修改的内容,即可在codeeditor种编辑,直接保存,我主要修改的是把sipush 5000 替换为 ldc_w 66500,sipush

中的s代表短整型,ldc中的l代表整型