今天小编给你们介绍一个工具,这个工具箱可以直接修改Java字节码,不需要反编译再回编译
工具/原料
JByteMod(https://www.lanzous.com/i9qipib)
一台装有Java的电脑
方法/步骤
1、首先我们下载JByteMod,之后把它随意解压到一个目录,并打开这个目录。解压出来的文件是这样的。。
2、我们龅歧仲半打开这个目录下的"start.cmd"文件,之后它会弹出CMD窗口,我们不用管它等一会就会弹出我们需要的窗口了(注意:CMD命令窗口不要关,关了会连带着程序一起关掉)
3、等一小会儿,就会弹出一个这样的窗口,这个窗口就是JByteMod了,我们可以在这个程序里进行逆向操作。
4、我们把需要修改的Jar文件拖到Javaarchive下面的框中
5、拖进来之后是这样的,我们可以选中一个class文件查看或修改字节码,也可以使用程序里的反编译引擎进行反编译,但是不能直接修改反编译出来的代码。
6、反编译出来了的结果和源代码没差多少,个人比较喜欢Fernflower这款反编译工具,这个工具答牧驼揎反编译得很快,还比一些其他的反编译工具准确,不过有了混淆有时就会出错
7、我们可以点击这个类文件旁边的加号,然后就会展开它,我们选中需要修改的代码的所在的方法,然后看右边的Editor里面,就会出现这个方法的字节码了
8、我们修改一下提示的消息,我们使用上边的放大镜,进行一次字符串搜索,我们就写上信息框提示的内容"Hello"点击OK
9、来到Search这个分组框里,这里展示了所有搜索结果。
10、我们在这里就发现了这个提示框的文本,我们选中它,然后右键,点击Jumptodeclaration,就来到了这个字符串所在的字节码里
11、双击这个ldcString"Hello",会弹出一个窗口,我们在Ld罕铞泱殳cValue里,写我们需要改成的文本。(在窗口里中文会乱码,但是保存出来是不会乱码的)
12、修改好后,我们点击菜单栏下面的渭骑莉蓝软盘的图标,之后会弹出一个窗口,选择一个路径,然后写一个文件名,记住后面要加上.jar,不然还要自己找到那个文件写上后缀名,最后点击Save按钮
13、之后这个窗口会消失,我们只需要等待左下角的进度条走到头,再提示SavingSuccessful时,就代表保存好了,我们这时就去找到这个文件,打开看看效果吧
14、这里已经是成功修改好了,这个工具不仅可以修改字符串,还可以修改其他的指令,小伙伴们可以自己去探索一下这个工具的功能哦~