Jar 包(Java Archive)是对 Java 程序的打包,它可能包含源码,也可能没有. 对于有包含源码的 Jar 包,在 Eclipse 工程里设定好 source code 路径后能直接查看到远吗,对于理解代码.调试的帮助很大.而如果 Jar 包没有打包源码,实际上也可以通过反编译的方法得到源码.道理很简单,Java 规范中,生成的.class 文件所包含的信息完全能逆向的重构出源码. 当然,一些代码为了防止自身 Jar 包被人反编译,会做代码混淆掩人耳目.其中最简单的一种方法就是是通…
我的云盘:工具里面有 Q:为什么有必要在开发环境中配置反编译工具呢? A: 当运行引用了第三方jar包项目时,突然报出了jar包中的某个类的某一行出现异常.我们想看一下这个class文件的代码时,经常出现了如下图所示的场景: god ,我的内心是崩溃的. 去找源码吗?可以,but很浪费时间(除非是maven项目,在pom.xml中引入依赖jar包会连同源文件下载下来). so ,在eclipse中配置反编译工具,就可以随时查看class文件的内容了. 下面就以JadClipse为例,讲述一下配…
引用自官方内容 Eclipse Class Decompiler是一款Eclipse插件,整合了多种反编译器,和Eclipse Class Viewer无缝集成,能够很方便的使用插件查看类库源码,进行Debug调试. 同时还提供了在线自动查找源代码,查看Class二进制字节码的功能. Eclipse Class Decompiler对JDK的最低要求为JDK1.6, 能反编译和debug各版本的Class文件,支持JDK8的Lambda语法,同时支持中文等非Ascii码字符集的解析,支持Ecli…
自动拆装箱 对于基本类型和包装类型之间的转换,通过xxxValue()和valueOf()两个方法完成自动拆装箱,使用jad进行反编译可以看到该过程: public class Demo { public static void main(String[] args) { int x = new Integer(10); // 自动拆箱 Integer y = x; // 自动装箱 } } 反编译后结果: public class Demo { public Demo(){} public st…
继续, 上文提到的是用BUILD_STATIC_JAVA_LIBRARY在Android4.2源码下编译出来的jar包可以在Eclipse(SDK版本4.1)上使用, 找来Android6.0的源码,编译出来jar包导入Eclipse,没有报错提示,安装到手机(Android6.0.1)之后,报错: Rejecting re-init on previously-failed class 还是Conversion to Dalvik format failed with error 1 记不清了…
jd-gui众所周知,业界公认的反编译必备工具. 笔者目前遇到一个java项目,社区版,想做一个本地化的版本,询问官方,官方说闭源,无奈之下只能反编译了. 面对那么多jar,jd-gui一个个去反编译保存,工作量的确很大.幸好在网上找到一个不错的工具 高能预警:jd-gui反编译的错误的,你敢不敢放到cfr来反编译试一试,保证有惊喜. CFR - another java decompiler 特性: CFR will decompile modern Java features - Java…
需求 项目老大让外包做了官网,不甚满意,想自己搞搞,遂叫我反编译他们发过来的 war 包. 方法 第一步:解压 war 包其实就是 zip 压缩包,用 zip 解压. 第二步:反编译 查看 war 包下面的 WEB-INF/classes,用 http://java-decompiler.github.io/ jd-gui 直接打开一个 class 文件,自动反编译文件下所有文件.然后在菜单中导出代码. 第三步:建立 maven 项目 在 IDEA 中建立 maven 项目,导入依赖,根据 WE…