作为Java技术人员,经常会用到反编译工具看别人的非开源代码,之前多用的工具是jd-gui。
今天在电脑上用时发现启动jd-gui时报需要jdk环境,奇怪明明电脑上配置好的环境变量,为啥还提示要JDK环境,网上一查原来是因为用的绿色版JDK,没有向注册表中写数据,jd-gui启动时就没找到JDK环境,有两种方法可解决:
1、重新用安装版本的JDK,或手动将JDK信息添加到注册表中。
2、采用java -jar jd-gui.exe的方式启动。将其保存为bat文件,可很方便后面的启动。
用jd-gui新的1.4.2版本查看jar的源码时发现有些class文件打开报实例错误,还以为对方做了防止反编译混淆之类的处理,后来又尝试了luyten能成功反编译。
看来遇到重要代码又反编译不成功时可以多个工具结合使用。
https://github.com/deathmarine/Luyten