Java高级语言是1995年5月份由sun公司所发布的,其主要特点是高安全性、跨平台以及代码优化等,在短短几年时间里Java成为整个网络应用开发领域的霸主。它最大的优势在于不能被编译成本地代码,而是采用中间代码形式运行在虚拟机环境里,所以使得Java反编译要比其他高级语言易实现,而且反编译代码经过优化之后几乎可以跟源代码相媲美。
几维安全认为Java反编译虽有跨平台优势,但为了更好地保护知识产权,避免信息被黑客攻击,开发工作人员有必要对Java反编译工具进行深入学习和了解,作为开发人员都清楚技术在不断改革更新,若不想知识技能落后就必须紧跟知识前沿,从而针对性的采取保护措施。
接下来一起去看看目前比较流行的Java反编译工具:
1、 Java反编译插件—Jadclipse
JadClipse是Jad的Eclipse插件,是一款非常实用而且方便地Java反编译插件,我们只需将下载的插件包复制到eclipse的plugins目录下,然后修改window -> Preferences -> Java -> JadClipse 下的Path to decompiler ,如:C:\pin\jadnt158\jad.exe,最后在Windows -> Perference -> General -> Editors -> File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer” 即可。
2、 Java反编译工具 —jad
jad是一款使用非常广泛地Java反编译工具,上面这款Jadclipse就是基于jad的反编译插件,JAD 文件包含 MIDlet 套件的标题信息,例如开发应用程序的公司、应用程序名称和大小。
3、 Java 反编译器—JD-GUI
JD-GUI 是一个用 C++ 开发的 Java 反编译工具,由 Pavel Kouznetsov开发,支持Windows、Linux和苹果Mac Os三个平台。而且提供了Eclipse平台下的插件JD-Eclipse。JD-GUI不需要安装,直接点击运行,可以反编译jar,class文件。
4、 Java反编译器—jdec
jdec是一个Java反编译器。它能够把出现在一个.class文件中的字节码还原成Java源代码,反编译的结果几乎与原始Java文件相同。它还自带一个利用swing开发的用户操作界面。
5、 uuDeJava
uuDeJava是Java Class文件的反编译工具。反编译的Java源程序被输出到Class的相同目录。内部使用jad.exe。反编译Class文件时,可以直接点击Class文件(关联后),或者选中文件或目录发送到uuDeJava的快捷方式。还可以拖动文件或目录到uuDeJava的主窗口。
6、 Java 反向工程软件—Minjava
Minjava 是一个 Java 反向工程软件,可帮助理解已存在一些 Java 软件的架构和行为。
7、 Java Decompiler
这款反编译器叫 “Java Decompiler”, 由 Pavel Kouznetsov开发,目前最新版本为0.2.5. 它由 C++开发,并且官方可以下载 windows、linux和苹果Mac Os三个平台的可执行程序。
以上这些Java反编译工具可以说是各有千秋,且它们的效果都是非常不错的。经过几维安全测试发现,这些Java反编译工具都把jdk自带的一些例程完全反编译了,之后不加任何修改就可编译成功,并且能够正常运行。更多相关知识请到几维安全官网查阅。