反编译需要源码不-反编译jar包

问题描述:

前提:不建议反编译别人的程序。 毕竟不太好,可能涉及到保密问题。

有时却没有办法。 原程序的开发工程师辞职了。 新接口人不懂业务,但没办法提供源码,部署文档也不清楚,部署时需要看程序。 结构和配置,所以需要反编译jar包。

工具如下:

jd-gui.exe;luyten-0.5.4.exe;java-decompiler.jar;

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

jd-gui.exe:

步骤:双击打开->文件->打开文件->选择需要反编译的jar包->确定;

保存:File->Save All Sources,得到压缩包并解压

反编译后的java类中的import包比较清晰反编译需要源码不,不会用*来代替同一文件目录下多个java文件的导出。 只能正确转换一些英文数组,而且目录结构看起来比较好;

但lambda表达式存在以下缺陷,部分java类无法成功反编译。

反编译需要源码不-反编译jar包

luyten-0.5.4.exe

步骤:双击打开->文件->打开文件->选择需要反编译的jar包->确定;

保存:File->Save All Sources,得到压缩包并解压

可以看到,反编译后的目录结构的查看效果比较差。 import使用*,部分英文数组转为ASCII码,但可以很好地反编译lambda表达式。 java-反编译器.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包全名

反编译需要源码不-反编译jar包

(2)xxx为新建文件夹的全名

(3)如果java-decompiler.jar和jar包不在同一个目录,则需要指定java-decompiler.jar的路径,例如将里面的java-decompiler.jar改为“D:IntelliJ” pluginsjava-decompiler libjava-decompiler.jar”

反编译比较有效,可以结合以上两个软件的优点,但也有缺点。 没有@Override注解,需要自己添加。 剩下的就需要结合使用了。

反编译后:

Java文件和配置文件位于BOOT-INFclasses目录下;

pom.xml文件在META-INFmavencom.xxxxxx目录下;

Mapper文件的位置发生了变化,需要自己调整;

反编译的效果肯定不如源码,必须根据具体逻辑进行调整。 另外反编译需要源码不,如果代码中使用了@Data注解,反编译后会包含一些重绘方法,可以直接删除,如:

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

工具下载:

提取链接链接:

提取码:h5bn

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 反编译需要源码不-反编译jar包 https://www.wkzy.net/game/199407.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务