java吧 关注:1,295,395贴子:12,828,700

求助:有没有大佬知道怎么修改jar文件里的class文件

只看楼主收藏回复

最近开了个mc服务器,装插件运行后发现有一个插件要修改,去github上找了源代码但是跟我手里的jar文件里的文件对不上,就想着直接改jar文件里的class,但是发现用idea反编译后改不了,我就是想删除一行代码,上网上找了很多方法都不行或看不懂。。所以来求助大佬有没有方法修改class文件


IP属地:上海来自iPhone客户端1楼2022-04-08 20:52回复
    你要改二进制文件啊,怕是难得很


    IP属地:云南来自Android客户端2楼2022-04-08 21:39
    回复
      2026-01-22 00:22:03
      广告
      不感兴趣
      开通SVIP免广告
      可以尝试替换你要改的代码的类,在你自己项目中,配置相同的路径名,然后把你要改的类复制过来,应该可以覆盖掉


      IP属地:浙江来自Android客户端3楼2022-04-08 21:48
      收起回复
        呃,有几个问题,把class反编译后无法直接编辑,把反编译出来的代码写入同一个路径后确实路径没问题了,但是没法编译,就没法转回class用于替换


        IP属地:上海来自iPhone客户端4楼2022-04-08 21:55
        回复
          很简单啊


          IP属地:上海来自Android客户端5楼2022-04-08 22:00
          收起回复
            创建一个路径相同的类,把反编译的代码复制进去,修改。把修改后的类编译成class,解压jar,替换class,再压缩成jar


            IP属地:广东来自Android客户端7楼2022-04-08 22:29
            回复
              不需要改jar包的,你建一个同名路径的java文件,运行的时候就直接覆盖掉了,你包下面文件优先级高于依里面的文件


              IP属地:湖北来自Android客户端8楼2022-04-08 22:31
              收起回复
                你哪个版本的啊?我阿里云上之前挂着的mc服务器直接启动就行的


                IP属地:上海来自iPhone客户端9楼2022-04-08 22:34
                回复
                  2026-01-22 00:16:03
                  广告
                  不感兴趣
                  开通SVIP免广告
                  按7楼说的方法也可以


                  IP属地:湖北来自Android客户端10楼2022-04-08 22:35
                  回复
                    我记得IDEA可以单独编译一个文件的,前提是要在一个工程里,在编译选项可以编译一个工程或一个文件。你把.class文件直接‘拉’到IDEA界面,然后会反编译出源码,复制源码到新的.java同名文件,然后单独编译,应该可以,你试试看。


                    IP属地:广东11楼2022-04-08 22:50
                    回复
                      去是这么改的:在你代码里创建相同的包和类并复制反编译的代码进去,删掉jar包里的类文件(注意可能包括子类文件),然后修改代码后正常打包就可以了,不用替换进去。


                      IP属地:广东来自Android客户端12楼2022-04-08 23:17
                      回复
                        用压缩软件打开,可以直接编辑


                        IP属地:安徽来自Android客户端13楼2022-04-09 01:51
                        回复
                          试试agent


                          IP属地:广东来自Android客户端14楼2022-04-09 08:02
                          回复
                            直接用asm改啊


                            IP属地:江苏来自Android客户端15楼2022-04-09 11:50
                            回复
                              2026-01-22 00:10:03
                              广告
                              不感兴趣
                              开通SVIP免广告
                              反编译,然后重新编译成jar


                              IP属地:广东来自Android客户端16楼2022-04-09 14:55
                              回复