Eclipse-Vi插件的下载, 安装和破解

参考 http://blog.chinaunix.net/uid-23392298-id-3152890.html

1. 下载并安装Eclipse的Vi插件

点击你的eclipse中的 help --> Install New Software... --> Add..  --> 添加网址 http://www.viplugin.com/    .......,  由于该插件是收费插件. 所以此时由于未破解, 所以每当点击工具栏上的Vi图标, 都会弹出如下图的购买提示框. 为了不弹出该框, 可以进行破解. 

clipboard

clipboard[1]

2.  破解

在Eclipse安装目录下的Eclipse.exe同文件夹下创建 viPlugin2.lic文件, 填入q1MHdGlxh7nCyn_FpHaVazxTdn1tajjeIABlcgJBc20, 保存, 重启Eclipse后, Vi插件就破解完成, 每当点击Vi按钮时就不会再弹出上图的提示框了. (根据上图中的提示, 其实可以有两处存放该license文件的地方, 一处是eclipse.exe所在的文件夹, 另一处是该eclipse工程的工作空间目录, 如上图中的 F: ....路径)

补充: 

破解过程:

破解需要使用反编译工具对下载的Vi插件中的某些文件进行反编译以提取出密钥.

1.  下载反编译工具 jad, 下载链接 http://varaneckas.com/jad/ (可能需要FQ访问). 下载下来的zip压缩包包含两个文件---jad.exe和readme.txt文件. 将jad.exe的路径添加到环境变量的path路径下, 方便在命令行操作.

2.  找到需要进行反编译的文件.  在Vi插件安装完成后, 在Eclipse的安装目录下的 plugins 和 features 两个文件夹下会分别多出一些文件夹和一些JAR文件(可以通过按修改日期排序的方式查找出哪些是刚才下载Vi插件而新增的文件和文件夹), 其中, plugins文件夹中会多出一些文件夹和JAR文件, 而features文件夹下只会多出一些文件夹.  找到 plugins\com.mbartl.viplugin.eclipse.layer_2.13.1\lib文件夹下的 licensechecker.jar文件, 对其解压缩后, 找到最内层的 CheckLicenseFile.class文件, 该文件就是我们需要进行反编译的对象.复制该文件的绝对路径(注意: 不论该文件存放在硬盘哪个位置, 都需要复制其绝对路径) , 打开命令行cmd, 输入如下指令

jad 该class文件的绝对路径

clipboard[2]

注意: 如果输入的是该文件的相对路径, 则会报异常: 无法打开输入文件(JavaClassFileReadException: can't open input file on `CheckLicenseFile.class')

clipboard[3]

如果输入正确, 会提示正在解析class文件, 并生成jad文件. (Parsing... class...Generating ...jad) , 如下图:

clipboard[4]

然后就会在命令行当前目录下生成该pad文件(例如: 如果未修改当前命令行目录, 则默认就是在C:\Windows\System32文件夹下生成.pad文件),  生成.pad文件后可以使用everything搜索到该pad文件. 将其扩展名改为.java,  然后在Eclipse中新建java工程, 将该java文件复制到该工程中, 该文件中有些类和变量会报错, 提示找不到(例如: 类Base64), 那么需要从外部导入相关的JAR包, 可以根据该文件import的类进行网络搜索, 比如: Apache Commons Codec等. 当然, 在刚才的lib文件夹中其实也已经包含了该JAR包 commons-codec-1.6.jar, 在eclipse该工程中直接添加外部JAR文件即可消除报错. 然后新建测试文件(如下图), 该测试文件的输出结果就是该Vi插件的密钥. 可以从checkLicenseLocations方法中获知,license的文件名应该是 viPlugin2.lic. 所以在上述两个路径任意一个下创建该文件, 将该密钥写入进该文件中保存即可.

clipboard[5]

代码: 

package decompile;

public class Test

{

    public static void main(String[] args) throws Exception

    {

        CheckLicenseFile licenseFile = new CheckLicenseFile();

        String valueString = licenseFile.encrypt("test", "test");

        System.out.println(valueString);

    }

}

你可能感兴趣的:(eclipse)