您的位置: 首页 >> 文章首页 >> 软件教学 >> 程序设计 >> Java程序的反编译问题
搜 索 发布软件 文章投搞 说明






分类列表
4办公软件
4文字输入
4游戏娱乐
4多媒体类
4磁盘工具
4图形图像
4其它软件
4网页设计
4程序设计
4启动制作
4使用技巧
4系统故障
4编程开发
4网络软件
4系统工具
4应用软件
4联络聊天
4行业软件
4教育教学
4组网专区
4破解文章

Java程序的反编译问题
作者:软件518 来源: 时间:2004-10-18 15:02:49

长一段时间以来,很多的网友都给我来信说,怎么才能将Java的Class文件反编译成为Java文件。或者说明白一点,就是想看看人家的源代码,问我有没有办法,这确实是一个很难的问题。但也并不是没有解的。

    我们知道,Java程序适合于在各种操作平台下使用,实际上,它的工作原理就是解释型的,打个比方,就好像每一台机器上面都有一个浏览器,我编译好程序的Class文件,这个文件就相当于一个HTML文件,这个文件能在每一台机器上面浏览。但假如Win9X/2000的系统用IE,而UNIX的Netscape,LINUX则用另外一种浏览器,这些机器都能看到我编写的这个HTML文件,虽然浏览时的界面不是完全相同,但却和各自的系统的样子差不多。它们对这个HTML文件的读取是解释型的,读多少,就显示多少。而Class文件,也就是这样一种文件。它在每一种系统种的存储格式都不一样。与各自的系统有关,但每个系统都认识。因为没有系统中都有相当于浏览器的JDK解释程序。而像可执行程序,即我们常见的exe文件,则是直接的二进制代码,这就与机器底层有关了,所以不同的操作系统的exe是不能混合用的。所以在Win9X/2000中,Class不是以直接的二进制存储的,它是介于文本文件与二进制文件之间的一种解释型。

    既然Java程序是一种这样的程序,而现在它又没有什么加密的功能,因此,它是非常容易反编译的。可执行文件exe的反编译,一般只能反编译成汇编格式的文档,但是,Class文件则可以反编译成为Java文件,让人直接看到原始代码。JDK的工作原理我不知道,但它编译时将解释代码,JDK版本号等几乎所有的东西都编译进了CLASS,这实在是出乎我的意料之外了。

    也该回答网友的问题了,将class 文件反编译成 java文件怎么弄,很简单,到网上下载一个反编译软件就可以了。这些软件的使用都非常的简单,不用学,一看就会。一般的下载软件的站点都可以下载得到。并且这一方面的软件不止一个,笔者曾经就用过的一个这样的反编译软件,这个反编译软件非常的厉害,我做过实验,所用的几个例子,都被它反编译出源代码来了,包括Application和Java Applet文件都能反编译,源代码之间的说明等解释内容竟然也反编译出来了,反编译后的源代码文件与我写的Java程序源代码文件几乎一模一样,效果非常的不错。只是不知道它反编译大型程序的能力如何,这倒没有试过。如果要反编译的软件不大的话,那绝对没有问题。只是请各位网友原谅,我不能乱讲话,否则就有官司打了。还麻烦各位自己去搜索一下了。这些反编译软件都是国外产的,国内没有,但许多国内站点都可以下载得到。

    真的希望Sun公司能在这一方面能想一点办法,否则,安全性很难讲了。对自由软件来说,这非常的好,但对于一个公司来说,这就可能有点不好了,谁想让自己的软件能让别人看见源代码呢?

上一篇文章:汉字问题深入谈
下一篇文章:http断点续传简单实现(java)
相关文章:
首 页广告联系本站声明下载帮助发布软件访客留言关于我们
© CopyRight 2002-2004, 软件518下载站(破解资源下载基地) www.rj518.com, Inc. All Rights ReservedPowered by
明日互联提供空间及带宽
绵IDC备00274号