解开exe包装的java程序

本文内容只用于学习目的,由于源代码涉及版权,请勿滥用本文方法,以免惹上官司。

由于java采用了虚拟机制,一个java程序会被编译成平台无关的中间代码,并且Sun当初在设计时给与了虚拟机较高的自由度,很多优化都是在虚拟机上完成的,这就导致采用java编写的程序非常容易被反编译。
另一方面,java程序的结构决定,每一个类都是一个独立文件,这样寻找反编译后具体的代码,然后修改并装载入原始程序都非常方便。

其实以上都是废话,为了凑字数~~~我其实要解决的问题就是把一个用java编写的程序,然后对其包装成exe的程序,提取源代码。

首先:解包
本方法并不使用全部的java2exe文件。方法很简单:重命名成.rar结尾的文件。

其次:反编译
找一个jar/class反编译程序反编译,这里推荐JD,您可以从一下地址下载http://java.decompiler.free.fr/?q=jdgui,这是一个免费的软件。