如何将.class文件转换成.java文件——JAVA反编译工具总结[转]

来源:互联网 发布:我的世界枪械js设置 编辑:程序博客网 时间:2024/06/01 21:20

项目war文件不含java源文件,只有.class文件,如何将war项目导入到myeclipse中去??

我的做法:将war中的.class文件反编译成.java文件,反编译软件我用的是java decompiler", 由 pavel kouznetsov开发,目前最新版本为0.2.5.它由 c++开发,并且官方可以下载 windows、linux和苹果mac os三个平台的可执行程序。

如何将现有的web程序导入到myeclipse环境中去

如果要将别人发布的war包,导入到自己的eclipse环境中进行再开发,最快的方法如下:

1、新建一个myeclipse的web project。

2、右键该工程,myeclipse/add struts capability,设置成struts开发环境。

3、将war包解压,全目录覆盖新工程的webroot(包括其中的web-inf/meta-inf目录),相应的scr目录(或者对应的包含java文件的目录)覆盖eclipse的src目录。myeclipse会自动将web-inf\lib下的jar包作为放到classpath中的。

4、refresh该工程,over。

java语言是1995年5月由sun公司发布的,由于其安全性高、代码优化、跨平台等特性,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位。 不过,java最突出的跨平台优势使得它不能被编译成本。

java语言是1995年5月由sun公司发布的,由于其安全性高、代码优化、跨平台等特性,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位。 中国网管联盟www、bitscn、com

不过,java最突出的跨平台优势使得它不能被编译成本地代码,而要以中间代码的形式运行在虚拟机环境中,这使得java的反编译要比别的高级语言容易实现,并且反编译的代码经过优化后几乎可以与源代码相媲美。

为了更好地保护知识产权,避免本公司的智力成果轻易被人窃取,开发者有必要对反编译工具深入了解,以便有针对性地采取保护措施。

目前,比较流行的java反编译工具有近30种,其中有三款堪称精品:

一、 应用广泛的jad

在众多的java反编译工具中,有几种非常著名的工具使用了相同的核心引擎——jad,其中主要包括:front end plus、mdejava、decafe pro、cavaj java decompiler、dj java decompiler、nmi’s java class viewer和国产的java源代码反编译专家。

jad本身是一个命令行工具,没有图形界面,上述的这些工具大多是在jad内核的基础之上加了一个图形界面而已。这么多种产品的共同选择,足可证明jad在java反编译领域中的尊贵地位。

笔者用来测试的jad版本是1.5.8f。

jad是使用microsoft visual c++开发的,运行速度非常快,可以处理很复杂的java编译文件。众多的参数使jad可以灵活应付多种加密手段,令反编译的代码更加优化和易读。由于jad参数太多,没必要一一解释,其中有几个最常用的如下:

54com.cn

-d

- 用于指定输出文件的目录

-s - 输出文件扩展名(默认为: .jad),通常都会把输出文件扩展名直接指定为.java,以方便修改的重新编译。

-8 - 将unicode字符转换为ansi字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。

最常用的反编译指令如下所示:

jad –d c:\\javasource –s .java -8 javatest.class

这条指令将当前目录下的javatest.class反编译为javatest.java并保存在c:\\javasource目录里,其中的提示输出为中文,而不是unicode代码。

二、 源码开放的jode

jode是全球最大的开源项目网站sourceforge.net的成员,不要以为源码开放就小瞧它,在所有的java反编译器中,jode的反编译效果是最好的,尤其是对付一些常见的加密手段,例如混淆技术等,更是出类拔粹。

jode本身也是纯java开发的,最近越来越多的java反编译软件也选择jode来做它们的核心引擎,例如jcavaj java decompiler、btj (back to java)、jedit’s javainsight plugin等。

jode是一个可运行的jar文件,在windows环境下双击即可运行。

中国网管联盟www.bitscn.com

需要特别说明的是,jode不是通过常规的open->file的方式来加载java编译后的类文件(*.class)或是类包(*.jar)的,而是通过在options菜单中的set classpath来实现的,单独的类文件可以将它的上一级目录作为classpath输入,然后再选择reload classpath即可。

文章出处:diy部落(http://www.diybl.com/course/3_program/java/javajs/20090302/156349.html)


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击