无论是社区版 IDEA,还是专业版 IDEA,都自带了反编译插件 Java Bytecode Decompiler。
反编译的关键是 java-decompiler.jar,位于 IDEA 安装目录下的 /plugins/java-decompiler/lib/ 下。
其中:
中的 表示选项可有零个、一个或多个。所有选项可以参看源码。常见选项:
- log,日志级别:(共有 4 个日志级别:TRACE、INFO、WARN、ERROR,默认是 INFO)。
- hes,Hide Empty Super invocation,隐藏空参的 super 调用。默认打开。
- hdc,Hide empty Default Constructor,隐藏空参的默认构造器。默认打开。
- dgs,Decompile Generic Signatures,反编译泛型签名。默认关闭。
- ren, Rename,重命名混淆后的代码。重命名规则:。默认关闭。
- urc,配合选项 ren 使用,用于自定义重命名规则。
- mpm,单个方法最大处理时长,单位是秒。默认是 0,表示没限制。
jar包反编译 idea
示例一,反编译 .class 文件:
java -jar java-decompiler.jar -log=warn d:/my.class d:/decompiled
上述命令表示将文件 d:/my.class 进行反编译,生成 my.java,存放在目录 d:/decompiled。
示例二,反编译 .jar 文件:
java -jar java-decompiler.jar -log=warn d:/my.jar d:/decompiled
上述命令表示将文件 d:/my.jar 进行反编译,生成一个新的 my.jar,存放在目录 d:/decompiled。
虽然新的 my.jar 也是 .jar 后缀,但它里面的文件是 .java 格式,而非 .class 格式。
直接将新 my.jar 解压即可获得反编译后的源码。
示例三,反编译目录:
java -jar java-decompiler.jar -log=warn d:/my d:/decompiled
上述命令表示将目录 d:/my 进行反编译,生成一个新的 my 目录,存放在目录 d:/decompiled。
反编译 .jar 文件时,建议先解压成目录,然后反编译。
今天的文章
jar包反编译 idea分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/137845.html