`
HeroXuan
  • 浏览: 79380 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

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

阅读更多

问题:项目WAR文件不含java源文件,只有.class文件,如何将WAR项目导入到MyEclipse中去??

我的做法:将WAR中的.class文件反编译成.java文件,反编译软件我用的是Java Decompiler", 由 Pavel Kouznetsov开发,目前最新版本为0.2.5.它由 C++开发,并且官方可以下载 windows、linux和苹果Mac Os三个平台的可执行程序。

如果要将别人发布的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即可。

分享到:
评论

相关推荐

    Java反编译工具把.class文件转换为.java文件

    ### Java反编译工具:将.class文件转换为.java文件 #### 概述 在软件开发领域,有时我们可能需要分析第三方库或者开源项目的内部结构,这时就需要借助于反编译工具来帮助我们阅读和理解其源码。Java作为一种广泛...

    Java Class文件反编译工具 jd-gui

    jd-gui是一个开源的Java反编译工具,由Jikes项目开发者创建。它允许开发者在图形用户界面中直接查看Java源代码,而无需手动将Class文件转换回源代码。这对于调试、学习或分析已有的Java库或应用程序非常有用,尤其是...

    .class文件反编译工具

    这时,就需要借助反编译工具,将.class文件转换回接近原生的Java源代码格式,便于理解和修改。 二、反编译工具的作用 1. 代码分析:对于无法获取源代码的第三方库,反编译工具可以帮助我们理解其内部实现,从而...

    java反编译软件 class转java

    这就引出了我们的主题——"java反编译软件 class转java"。 反编译是将已编译的机器代码转换回源代码的过程。在Java世界里,这个过程就是将.class文件转换回.java文件。这样的工具可以帮助开发者查看和理解已有的...

    Java反编译工具——jad.exe

    Java反编译工具是开发者在特定情况下非常有用的工具,它们能够将Java字节码(.class文件)转换回源代码(.java文件),这在进行逆向工程、学习已有的库或者修复没有源代码的程序时特别有用。Jad.exe就是一款这样的...

    非常好用的class反编译工具,不需要安装,只需要将需要反编译的class文件拖到该反编译工具的图标上即可

    Java反编译工具的核心是解析.class文件的字节码,将其转化为接近原始Java源代码的形式。虽然反编译出来的代码可能并不完全等同于原始源码,但通常能够提供足够的信息来理解代码逻辑。jd-gui-gao.exe可能是基于JD-...

    Class文件反编译工具

    标题中的“Class文件反编译工具”指的是专门用于将Java的字节码(.class文件)转换回源代码格式的工具。这些工具可以帮助开发者解析和理解JVM执行的字节码,尽管原始的注释和变量名可能丢失,但基本的逻辑结构可以被...

    java class 文件反编译工具

    在本主题中,我们将深入探讨Java Class文件反编译的概念、工作原理以及一个常见的反编译工具——JD-GUI。 首先,我们需要了解Java的编译过程。当编写Java程序时,源代码(`.java`文件)被Java编译器(如javac)编译...

    java反编译.zip

    在这个压缩包中,我们可以看到一个名为"jd-gui.exe"的文件,这是一个常见的Java反编译工具——JD-GUI的可执行文件。JD-GUI是一个图形用户界面工具,它可以打开单个.class文件并显示反编译的源代码,这对于查看库或...

    java反编译工具

    标题中的“java反编译工具”特指用于解析和转换Java字节码回源代码的软件。这些工具通常用于多种目的,包括但不限于: 1. **代码分析**:当没有源代码时,反编译可以帮助理解程序的工作原理。 2. **故障排查**:在...

    java class 反编译工具

    Java Class反编译工具是开发过程中非常实用的辅助软件,主要功能是将已经编译过的.class文件转换回可读的.java源代码格式。这在进行逆向工程、调试或者理解他人代码时尤其有用。本文将深入探讨Java Class反编译的...

    .class文件反编译

    反编译工具是实现这一目标的关键,它们能够解析`.class`文件的二进制格式并将其转换为可读的源代码。描述中提到的工具——`jd-gui.exe`,就是一个常用的`.class`文件反编译器。它提供了一个图形用户界面,允许用户...

    java反编译-class反编译为java源码

    Java反编译是Java开发中一个重要的辅助工具,它允许开发者查看已编译的.class文件的源代码,尽管这些源代码并非原始的.java文件。在某些情况下,反编译是必要的,例如,当我们需要理解一个没有源代码的库或者学习其...

    CLASS反编译工具(存放)

    在压缩包子文件的文件名称列表中,我们看到"jd-gui.exe",这是一个常见的Java反编译工具——JADGUI的可执行文件。JADGUI是JAD(Java反汇编器)的图形用户界面版本,它允许用户直观地查看和分析Java类文件的源代码。...

    XJad——Java反编译工具

    XJad是一款经典的Java反编译工具,它主要用于将Java字节码(.class文件)转换回源代码(.java文件)。在Java开发过程中,有时我们可能需要查看或理解已编译的类文件的内部实现,尤其是在处理无源码的第三方库时。...

    Java反编译工具——XJad.zip

    Java反编译工具是开发人员在进行代码逆向工程时常用的一种工具,它们可以将已编译的Java字节码转换回源代码形式,帮助开发者理解已有的二进制类文件,或者在丢失源代码的情况下恢复部分功能。XJad是这样的一个工具,...

    Xjad——java反编译工具

    Java反编译工具是开发者和逆向工程人员用于查看Java字节码并将其转换回源代码的工具。在Java平台上,由于JVM执行的是编译后的字节码,而不是源代码,因此有时需要反编译来理解已部署的类文件或研究其他软件的工作...

    强大的java反编译工具

    标签中的"java反编译"、"java"、"反编译"和"java反编译工具"强调了这个主题的核心——Java语言的反编译过程。反编译对于软件逆向工程、故障排查、学习库的实现细节等场景都是必要的。 "class转java"是指将Java字节...

    eclipse编译.class所需jar包

    这时,就需要借助于反编译工具来将已编译的.class文件转换回可读的.java源码。本文将详细讲解如何在Eclipse中通过jad.exe和net.sf.jadclipse_3.3.0.jar这两个组件来实现这一目标。 首先,我们来看标题中的核心知识...

Global site tag (gtag.js) - Google Analytics