Java反编译

简介:

需要一个支持命令行的Java反编译工具

JAD不支持注解

JD-GUI支持注解,但不支持命令行


JD-GUI所使用的JD-Core未开源


找到一个JD-Core的折中方案 https://github.com/nviennot/jd-core-java/

记得要先安装mercurial,再编译

Ubuntu安装方式:sudo apt-get mercurial


使用方法:

1
2
3
4
5
6
# Outputs all the sources of compiled.jar into out_dir
java -jar jd-core-java-1.2.jar [options] <compiled.jar> [<destination>]
Options:
     -z - save sources into a zip  file
     -n - add line numbers into sources; ( false  by default)
     -r - not realign line numbers ( true  by default)


jd-core-java-1.2.jar下载链接:

http://down.51cto.com/data/2230021
















本文转自fatshi51CTO博客,原文链接:http://blog.51cto.com/duallay/1828861 ,如需转载请自行联系原作者









相关文章
|
算法 安全 Java
Java源码混淆,jar包加密,禁止反编译jar包
本文中介绍使用 XJar 对jar包进行加密。
2259 1
Java源码混淆,jar包加密,禁止反编译jar包
|
Java 开发工具 git
你需要的Java jar包反编译工具来了
在我们进行java开发过程中,有时候需要看一下某个jar包是否确定已经是我们更新过的代码,那么此时,就需要使用反编译工具看一下jar包中对应的java源码。下文介绍一个高效率的jar包源码查看工具:jd-gui
你需要的Java jar包反编译工具来了
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
284 2
|
7月前
|
缓存 Java 计算机视觉
深入理解Java自动装箱和自动拆箱(反编译字节码理解每条指令)
在Java中,自动装箱(Autoboxing)是指将基本数据类型(如int、char等)自动转换为其对应的包装类(如Integer、Character等)的过程。而自动拆箱(Unboxing)则是将包装类的对象转换回其对应的基本数据类型的操作。这些特性从Java SE 5开始被引入,以方便开发者在处理基本类型和其包装类之间进行转换。 下面是一个简短的摘要: - **自动装箱**:当基本类型赋值给包装类时,例如 `Integer i = 1;`,Java会自动调用Integer的`valueOf()`方法,将int转换为Integer对象。对于数值在-128到127之间的int,会使用Int
195 2
深入理解Java自动装箱和自动拆箱(反编译字节码理解每条指令)
|
7月前
|
存储 安全 Java
深入理解Java字节码与反编译技术
深入理解Java字节码与反编译技术
127 0
|
7月前
|
Java
Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)
Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)
853 0
|
7月前
|
IDE Java 开发工具
你知道 Java 中关键字 enum 是一个语法糖吗?反编译枚举类
你知道 Java 中关键字 enum 是一个语法糖吗?反编译枚举类
100 0
|
Java
Java反编译生成java文件
Java反编译生成java文件
127 0
|
Java
java反编译class
java反编译class
93 0
|
Java
java反编译问题 报 INTERNAL ERROR
使用 jd-gui.exe反编译工具,反编译时部分类无法反编译。
303 0
java反编译问题 报 INTERNAL ERROR