找回丢失的源代码

ZDNet软件频道 时间:2003-07-02 作者:翻译:Java研究组织barney |  我要评论()
本文关键词:javatips
源代码丢失的原因有很多:备份文件失败,无法备份文件,不小心删除,硬盘运行错误等等。虽然大多数程序员在他们的职业生涯中都会遇到这种情况,但对于一般的Java class文件来说,重新生成源代码并非一件难事。
本文译自Builder.com,未经许可请勿转载 源代码丢失的原因有很多:备份文件失败,无法备份文件,不小心删除,硬盘运行错误等等。虽然大多数程序员在他们的职业生涯中都会遇到这种情况,但是我们有好消息:对于一般的Java class文件来说,重新生成源代码并非一件难事。

从class文件中重新生成源代码的过程叫反编译。现在有很多程序可以对Java class文件进行反编译。但最受欢迎的是Java Decompiler (JAD)。JAD是命令行工具,你可以反编译一个类或者一批类,而且对大多数操作系统都是可用的。

当你用JAD反编译类时,你会得到每个被反编译的类的源码。一旦拥有源码,你就可以修改,重新编译,或者备份源码而不必再使用反编译器了。

下面是一个使用JAD命令行的例子:

jadEmployee.class
Parsing Employee.class... Generating Employee.jad

JAD的缺点

Java class文件反编译相对来说很容易;因此,现在有使class文件不被反编译的工具的市场。

这些提供保护的工具叫反反编译工具(obfuscator)。如果你要反编译的class文件被反反编译了,那JAD或者其他类似的程序就不能为这些class文件生成源码了。

反编译器不会重新得到和原来一模一样的代码;它只是生成和原来的代码等价的源码。反编译的class文件得到的源码不会有原来的注释了,所以你丢失了源码就丢失了所有的注释。

如果有适当的备份措施,你就不用在找回丢失的源码了;但是如果你要做这个工作,你会发现JAD很有用。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134