JD-GUI
- 主页
- JD Project=Java Decompiler Project
JD-Core
- 是什么:
一个库
- 功能:从一个或多个.class文件中重构java源代码
- 用途:
- 可用于恢复丢失的源代码
- 可用于查看jar包的java源码=查看JRE(Java运行时)库的源码
- 特点:
- java 5中最新的功能
- 注释annotations
- generics 或 枚举类
- java 5中最新的功能
- 说明:
- JD-GUI内置包含了JD-Core
- JD-Eclipse内置包含了JD-Core
- 是什么:
JD-GUI
- 是什么:一个独立的带图形界面的
程序
- 作用:显示查看jar包的java源代码
- 注:
jar包
=内部包含了很多.class
文件的,被压缩打包成jar
- 注:
- 举例
- github主页
- 下载
- 是什么:一个独立的带图形界面的
- 插件
- JD-Eclipse:Eclipse的插件
- 举例:
- 举例:
- JD-IntelliJ:IntelliJ IDEA的插件
- 举例:
- 举例:
- JD-Eclipse:Eclipse的插件
JD-GUI反编译jar的效果
举例
用JD-GUI
打开jar文件,即反编译jar文件,com.ishowedu.child.peiyin9201516-dex2jar.jar
,得到java代码的效果:
其中找到了我们之前需要的app相关的业务逻辑的代码:
/com/huili/readingclub/activity/classroom/SelfReadingActivity.class
其中onSuccess
中就是我们希望得到的对于J
字段解密的逻辑。
其他无效的jar转换出jar的效果
如前一步所述,从多个dex
可以转换出多个jar
而这些无效的、没有包含app业务逻辑的jar
,去用一些反编译工具打开后的效果是:
其他的一些,比如腾讯乐固加密了的,最终转换出来的jar,去打开后只能看到腾讯乐固的代码: