java反编译是什么意思
⑴ 什么叫反编译
编译是一种将高级语言翻译成计算机可是别的低级语言。
反之就是反编译。
不光只java,可以编译的高级语言都可以被反编译。
⑵ Java反编译工具有什么作用
就是把经过java文件编译后的可执行的class文件再反编译为java文件,因为经过编译的class文件是不可阅读的!但是由于java文件一般都不是单独运行的,会有类之间的相互调用,所以反编译工具反编译后只能大体上还原原来java文件,而不能完全还原,特别是一些变量的取值,定义等..
⑶ java反编译
如今JAVA语言在全世界范围正如火如荼般的流行,它广范地应用在INTERNET的数据库、多媒体、CGI、及动态网页的制作方面。1999年在美国对JAVA程序员的需求量首次超过C++!
作者因最近分析一些JAVA程序,对JAVA的反编译进行了一番了解,下面将我所了解的情况作以下介绍,希望对JAVA爱好者有所帮助。
JAVA是采用一种称做“字节编码”的程序结构,分为小程序(嵌入到HTML文件中)和应用程序(直接在命令状态下执行)两种类型。无论哪种结构,一旦用JAVAC 命令编译后,均变成后缀为CLASS的同名可执行文件。这种文件是不可阅读的代码。
经查阅了SUN公司的JDK(JDK1.1.3)文档资料后,我找到了一个据称是可反编译JAVA的JAVAP文件(EXE),这个文件位于\JDK\BIN\ 下面,经按说明使用后,感到失望,原来这个“反编译”仅可反编译出JAVA程序的数据区(定义)、若干方法和类的引用等。
这里我用了一个简单例子来说明问题。
JAVA的源程序hello_java.java如下:
import java.applet.*;
import java.awt.*;
public class hello_java extends Applet
{
public void paint(Graphics g)
{
g.drawString("Hello Java!\n",20,20);
}
}
经用反编译命令:javap -c -package -public -private hello_java hello.java
得到的反编译结果(hello.java)如下:(有关javap命令的选择参数请见其使用说明,这里-c表示选择了反编译)
Compiled from hello_java.java
public synchronized class hello_java extends java.applet.Applet
/* ACC_SUPER bit set */
{
public void paint(java.awt.Graphics);
public hello_java();
Method void paint(java.awt.Graphics)
0 aload_1
1 ldc #1
3 bipush 20
5 bipush 20
7 invokevirtual #6
10 return
Method hello_java()
0 aload_0
1 invokespecial #5 ()V>
4 return
}
⑷ 什么是反编译工具反编译工具有什么用
简单来说,就是把一个已有的程序转化为编程的命令行。至于使用反编译的原因么……有的是为了研究一个程序以达到吸取别人的编程思路和经验。当然也有的是为了盗版。或者是为了窃取别人的软件。
⑸ java 反编译到底是什么
编译 = 源代码.java 变成字节码 .class
反编译 = 字节码 .class 变成 源代码.java
================================================
去书店看书。SCJP的书是一定要看的。因为他太基础了。
不要指望一次看懂。
学到哪里就认真的看到哪里!
⑹ Java反编译工具的用法
反编译得出的代码,是JAVA文件在生成CLASS文件时,做过优化的代码。
所以跟你的原文件不一样(比如:注释全没有,中文全变成Unicode码,字符串连接全部用StringBuffer类来代替,自动增加else语句等等)。
所以,你要是想修改反编译出来的代码,可以:
1、将反编译出的代码复制到一个新建的类文件里
2、运行这个文件
3、根据错误提示,进行修改
以上是,我用过的方法。
⑺ java class 文件反编译有什么用
反编译class文件是为了获取java源码,一般是为了学习源码或者查看源码是否于新代码相同,有时eclipse编译后class文件并没有更新过,还是旧的代码,而你又不确定,此时反编译查看代码是否更新到最近的,我因为这个问题导致程序出错过
⑻ java反编译器是什么,干什么用的;混淆器是什么,有什么用
反编译器就是将.class文件变回原来的java源程序文件
不会冲突
混淆器可以打乱class文件中的符号信息,使反向工程变得非常困难。
⑼ 谁能告诉我Java反编译工具到底是干嘛用的啊
想要简单点的,行。Java反编译工具,就是用来查看class文件的。如果没有Java反编译工具,你无法查看class文件。
补充:一般是把Java反编译工具安装到Eclipse上的,经过相应的配置,然后在你编辑代码的时候,你想看看一个类的内部代码,你就可以使用Ctri+鼠标左键单击那个类,这样Eclipse就能打开相应的class文件,方便吧(省的到处去下载那些源代码,更何况有些源代码不公开的)。