反编译jar包

反编译jar包问题描述 前提说明 反编译别人的程序 是不推荐的 毕竟不太好 有可能涉及保密 有时是没有办法而为之 原程序的开发工程师离职了 新的接口人业务不了解 但是也没有办法提供源码 而部署文档又不明确 这样在部署的时候就需要看程序结构和配置了 所以需要反编译一下 jar 包 工具如下 jd gui exe luyten 0 5 4 exe java decompiler jar 我知道的有以上三个工具 比较推荐的是第三个 IntelliJ 自带的反编译工具 反编译效果比较好 但其他的也有自己的优点 j

问题描述:
前提说明:反编译别人的程序,是不推荐的,毕竟不太好,有可能涉及保密。
有时是没有办法而为之,原程序的开发工程师离职了,新的接口人业务不了解,但是也没有办法提供源码,而部署文档又不明确,这样在部署的时候就需要看程序结构和配置了,所以需要反编译一下jar包。




工具如下:

  1. jd-gui.exe;
  2. luyten-0.5.4.exe;
  3. java-decompiler.jar;

我知道的有以上三个工具,比较推荐的是第三个,IntelliJ自带的反编译工具,反编译效果比较好,但其他的也有自己的优点。

  1. jd-gui.exe:
    步骤:双击打开->File->Open File->选择要反编译的jar包->确定;
    保存:File->Save All Sourses,得到一个压缩包,解压即可;
    在这里插入图片描述
    反编译后的java类中的导包,也就是import比较明确,不会用*代替多个同文件目录下的java的导入,一些中文字段也能够正确的转换,目录结构看着也比较好;
    但是对于lambda表达式会有以下缺陷,有些java类也不能成功反编译。
    在这里插入图片描述












  2. luyten-0.5.4.exe
    步骤:双击打开->File->Open File->选择要反编译的jar包->确定;
    保存:File->Save All Sourses,得到一个压缩包,解压即可;
    在这里插入图片描述
    可以看出,反编译后的目录结构的查看效果相对较差一点,import使用了*,一些中文字段变成了ASCII码,但是它可以较好的反编译出lambda表达式。








  3. java-decompiler.jar
    这个需要使用命令行cmd进行操作,
    步骤:将java-decompiler.jar放在需要解压的jar包目录下->新建一个文件夹(用于存放反编译后的压缩包)->该目录下打开cmd.exe->输入
    java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true xxx.jar xxx
    保存:运行命令后会在xxx文件夹下面生成一个与原先的jar包同名的文件,加压缩即可;
    说明:
    (1)xxx.jar是需要反编译的jar包的全名
    (2)xxx是新建的文件夹的全名
    (3)如果 java-decompiler.jar与jar包不在同一目录下,则需要 java-decompiler.jar指定路径,比如将上面的java-decompiler.jar改成 “D:\IntelliJ\plugins\java-decompiler\lib\java-decompiler.jar”
    反编译效果比较好,可以综合一下以上两个软件的优点,但也有不足,@Override注解没有,需要自己添加,其余的需要结合使用情况了。


















反编译后:
在这里插入图片描述
java文件和配置文件在\BOOT-INF\classes目录下;
pom.xml文件在\META-INF\maven\com.xxx\xxx目录下;
mapper文件的位置有所变动,需要自己调整一下;
反编译的效果肯定不如源码,还要结合具体的逻辑进行调整,另外代码里面如果使用@Data注解,反编译后会附带的一些重写方法,直接删掉即可,比如:










@Override public boolean equals(final Object o) { 
   } 

工具下载:
提取链接链接:https://pan.baidu.com/s/1koppf3_0EqSLW--q5rbGMQ
提取码:h5bn




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208711.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:56
下一篇 2026年3月19日 上午10:57


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号