Fernflower是第一个实际工作的分析反编译器,可以用于Java和一般的高级编程语言。
获取源码
该源码位于:https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine
及一个克隆出的源码:https://github.com/fesh0r/fernflower
如何构建
参考:https://github.com/MinecraftForge/FernFlower/issues/1
使用gradle进行构建,build.gradle文件参考:https://gist.github.com/LexManos/abf02179db7b5b367ee33639e266b34b
将build.gradle文件放入/intellij-community/plugins/java-decompiler/engine目录后,执行:gradle build
生成的fernflower-x.x.x.jar位于build/libs/目录下。
直接下载
Download Page: http://files.minecraftforge.net/maven/net/minecraftforge/fernflower/
安装的程序文件
fernflower-x.x.x.jar,用于反编译.class文件
fernflower wapper:
#!/bin/bash # 不适用于将该脚本加入环境变量的情况 script_name="$0" jar_path=$(test -L $script_name && readlink $script_name || echo $script_name) jar_path=$(dirname $jar_path) java -jar "${jar_path}"/fernflower.jar $@
参考文献
Homepage: https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine
TODO 完善FernFlower内容