利用javassist破解idea mybatis plugin方法

一、在idea plugins 中在线安装 mybatis plugin插件,找到mybatis_plus.jar包的位置,默认在C:\Users\XXX(用户名)\.IntelliJIdea2016.3\config\plugins\mybatis_plus\lib中;

二、新建一个最基本的java项目(或直接利用已有项目也可),将javassist.jar和mybatis_plus.jar加入项目的library中,没有javassist.jar的童鞋可以到http://download.csdn.net/download/icss_s2/8743555下载;

三、新建一个java类,添加如下main方法

 1 public static void main(String[] args) throws Exception {
 2         ClassPool pool = ClassPool.getDefault();
 3         CtClass driverClass = pool.get("com.seventh7.mybatis.ref.license.ActivationDriver");
 4         CtClass javaUtil = pool.get("com.seventh7.mybatis.util.JavaUtils");
 5         CtMethod activate = driverClass.getMethod("activate", "(Ljava/lang/String;)Lcom/seventh7/mybatis/ref/license/ActivationResult;");
 6         CtMethod refValid = javaUtil.getDeclaredMethod("refValid");
 7         try {
 8             refValid.setBody("{return true;}");
 9         } catch (CannotCompileException e) {
10             e.printStackTrace();
11         }
12         System.out.println(activate);
13         try {
14             activate.setBody("{com.seventh7.mybatis.ref.license.LicenseData licenseData = new com.seventh7.mybatis.ref.license.LicenseData(\"1\", \"2\");com.seventh7.mybatis.ref.license.ActivationResult res =com.seventh7.mybatis.ref.license.ActivationResult.success(licenseData); return res;}");
15         } catch (CannotCompileException e) {
16             e.printStackTrace();
17         }
18         try {
19             driverClass.writeFile("activate");
20             javaUtil.writeFile("activate");
21         } catch (CannotCompileException e) {
22             e.printStackTrace();
23         } catch (IOException e) {
24             e.printStackTrace();
25         }
26     }

四、执行main方法后会在当前项目路径下生成一个activate文件夹,将activate文件夹下的com文件夹拷到mybatis_plus.jar所在目录下,在当前目录打开CMD窗口运行

(执行此命令前先关闭idea)"jar uvf mybatis_plus.jar com" ,
若不想执行命令也可用WINRAR打开mybatis_plus.jar对照activate文件下的路径,找到相应的文件替换即可。
到此破解完成,重启idea即可!
 
posted @ 2017-03-21 14:08  Qingdong.Li  Views(1324)  Comments(0Edit  收藏  举报