利用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即可!