有时候需要将现有的 java 类,即 .class 文件编译成 java源码,即 .java 文件,自己总结了2个方法:
(1)用 java 自带的 javap 命令,这个命令可以从 .class 文件,看到类的结构,比如:
进入 Hello.class 所在的目录,执行 javap Hello 则可以看到 Hello.java 的 结构;
对于 javap 更多的命令,可以用 javap -help 来查看;
(2)使用一些反编译工具
我用了几个工具,有些局限于版本,有1个还比较好用,就是 “DJ java decompiler”,它可以反编译各个版本的java类,包括 jdk1.6 。
但是反编译后的类,肯定不同于真正源码,如下几方面的代码就没有:
* 3种注释,都没有
* 注解 没有
另外编译出的代码与我们写代码的习惯风格也不同,比如:
* 100 被编译成 Integer.valueOf(100);
* "abc"+"def" 被 编译成 (new StringBuilder("abc")).append("def").toString();
还有其它的区别,不过已经有很大的帮助了!!
分享到:
相关推荐
Java反编译工具是程序员在开发和调试过程中经常会用到的一种实用软件,它能够将已编译的Java字节码(.class文件)转换回源代码格式,这对于查看和理解第三方库或者研究已有的二进制代码非常有帮助。本绿色版的Java反...
JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA...
Java反编译工具是开发者在特定情况下非常有用的工具,它能够将已经编译好的.class文件转换回源代码的.java文件。这种技术对于软件维护、学习他人代码、逆向工程或者理解已有的二进制库的工作原理都至关重要。本文将...
Java反编译是Java开发中一个重要的辅助工具,它能够帮助开发者查看已编译的`.class`文件中的源代码,即使原始的`.java`源文件已经丢失或未被提供。这个过程对于理解类库的工作原理、逆向工程、调试、学习或者分析...
Java反编译是将已编译的Java字节码(.class文件)转换回源代码(.java文件)的过程,这对于理解已加密或混淆的代码、逆向工程库或者研究软件内部工作原理非常有用。这款名为“咖啡图形的java反编译工具”很可能是一...
Java反编译是Java开发中一个重要的辅助工具,主要用于查看和理解Java字节码,将已编译的.class文件或.jar文件转换回源代码形式。这在进行逆向工程、学习开源项目、修复bug或者理解未知代码的工作流程时非常有用。...
此时,就需要用到反编译工具,而jd-gui就是这样一款强大的JAVA反编译工具。它以其简单易用、功能齐全的特点,深受广大开发者喜爱。 首先,jd-gui是一款开源的Java反编译工具,能够将字节码还原为接近原始的Java源...
Java反编译是将已编译的字节码(.class文件)转换回源代码(.java文件)的过程。在开发或维护项目时,如果原始的源代码丢失或不可用,反编译工具就能派上用场。这些工具可以帮助开发者理解代码的功能,修复错误,...
jad 是应用最广泛的java 反编译工具;其本身是命令行工具;其他很多用具是在jad内核的基础上加了一个图形界面;比如我上传的资源、Cavaj Java Decompiler 以下假设jad.exe在c:\java目录下 一、基本用法 ...
Java反编译exe主要指的是将Java的字节码(.class文件)转换回源代码(.java文件)的过程。在Java编程中,源代码被编译成字节码,然后由JVM(Java虚拟机)执行。然而,出于调试、学习或者逆向工程的目的,有时我们...
Java反编译与Unicode字符转换是Java开发过程中两个重要的技术环节。反编译是指将已编译的字节码(.class文件)转换回源代码的过程,这对于理解已有的类库或者进行逆向工程非常有用。Unicode是国际通用的字符编码标准,...
本文将详细介绍如何解决JAVA反编译文件时的中文乱码问题。 首先,理解问题的根源:Java源代码默认采用UTF-8编码,但某些情况下,源代码可能使用了其他编码方式,如GBK。当这些源代码被编译成字节码后,再用不支持...
Java反编译是将已编译的Java字节码转换回源代码的过程,这对于理解类库的工作原理、学习代码实现或者在没有源代码的情况下调试二进制程序非常有用。JD-GUI是一款流行的Java反编译工具,尤其适用于Mac用户。在本文中...
本文将深入探讨“安卓、Java反编译工具”这一主题,包括它们的工作原理、常用的反编译工具以及如何使用这些工具来解析编译过的文件。 首先,我们需要理解编译和反编译的基本概念。编译是将源代码(如Java或Android...
Java反编译工具是开发者和逆向工程人员用于查看Java字节码的工具,它们能够将已编译的.class文件转换回源代码形式,以便理解程序的内部工作原理或者进行代码分析。Java语言的编译过程是将源代码(.java文件)编译成...
Java反编译是将已编译的字节码(.class文件)转换回源代码(.java文件)的过程,这对于理解和学习已有的Java程序、逆向工程或调试都是很有用的。标题提到的"java反编译工具"是用于这个目的的软件,它能够帮助开发者...
Java反编译是将已编译的Java字节码(.class文件)转换回源代码的过程,这对于理解或学习已封装的库、框架或者解决逆向工程问题非常有用。在Mac操作系统上,一个常见的Java反编译工具是JD-GUI。JD-GUI是一款图形化...
Java反编译是将已编译的Java字节码(.class文件)转换回源代码的过程,这在软件开发、逆向工程、调试和学习他人的代码时非常有用。Java的字节码并不直接对应于源代码,因此需要特定的工具来实现反编译。这些工具可以...