未分類 26 11 月 2020 新手不懂就问: Java 中怎么将项目的 Jar 包转为代码呢? 新手不懂就问: Java 中怎么将项目的 Jar 包转为代码呢? 資深大佬 : will2zuo 0 尝试用过 JD-GUI,但是转出来的代码不能用 大佬有話說 (25) 資深大佬 : tikazyq 怎么把一坨屎逆向为食物? 主 資深大佬 : will2zuo @tikazyq 你觉得你很幽默? 資深大佬 : motoude @will2zuo 话糙理不糙 資深大佬 : dethan idea 可以吧 資深大佬 : statement 转出来是给你看的。不是给你用的 告诉你屎是什么食物变的 資深大佬 : cheng6563 http://www.javadecompilers.com/多试几个反编译器,一般 Fernflower 会比较好用 資深大佬 : lqw3030 解压出来,然后作为项目用 idea 打开 資深大佬 : Joker123456789 一般 编译的时候,编译器会对源码做优化。 而反编译是将字节码反向编译成源码, 但是字节码是对源码优化后编译而成的, 所以反编译出来的东西 跟源码是两码事,可读性非常差。 資深大佬 : est 其实 @tikazyq 的比喻糙了一点。更好的比喻是,怎么把香肠还原成活猪?怎么把面包还愿成麦子? 資深大佬 : securityCoding 拖到 idea 能自动反编译 資深大佬 : RedBeanIce 拖到 idea 能自动反编译 資深大佬 : itsql 直接用肯定不能用啊,换个方式就可以了啊 資深大佬 : nicevar 我不知道你是怎么想的,既然你想直接用为什么不用 jar 包?如果只想用部分代码,反编译出来代码你参考修改一下不就行了,难道你连这点都做不到? 主 資深大佬 : will2zuo @nicevar 意思是,公司的代码在服务器上跑,但是只有 jar 包,然后仓库里也没有,现在需要改这个项目。。 資深大佬 : kingfalse javassist,完美解决,我们有个很老的项目只有 jar 包我就是用这个搞定的,不过改动比较小 資深大佬 : xiaoliu926 @will2zuo jar 包拖到 idea 里就能查看源码了。。。原样复制一份 資深大佬 : kingfalse 反编译就算了,出来的都是残疾 資深大佬 : nicevar @will2zuo 那你应该找公司的负责人要代码,一个项目的 jar 包除非少量的代码,否则肯定不可能反编译后能直接用的,你这不现实,解决办法就三个一就是找到源码、二是反编译成源码依葫芦画瓢、三就是反编译字节码修改(这个只适合小改动)。 資深大佬 : fengpan567 反编译出来也用不了,如果是代码多的复杂工程,那就 GG 了 資深大佬 : PVG jd-gui,反编译工具一大堆 資深大佬 : volantRookie 难道没有人想到他是 springboot 打的 jar 包,然后丢到服务器上跑的?如果是这样,那就好玩了,哈哈 資深大佬 : v2orz 1L 这个居然还这么多人点赞?人家又不是要做破解软件 回到问题上来,反编译出来能改到可用的人不会问这个问题,不会改的,反编译出来也就是给你看看大多数情况下,你放到 idea 里面就可以了,还可以选择多种反编译插件的 主 資深大佬 : will2zuo @volantRookie 是用的 springboot 主 資深大佬 : will2zuo @v2orz 是的,现在只能放到 idea 里面看看 資深大佬 : volantRookie 那源码不是在自己手上么,直接改源码再打个包放上去就完事了