Idea的mybatis插件破解
2016-09-20 12:18
459 查看
博客地址
我们通过一些手段,如本地建立一个认证服务器、修改jar包class文件修改认证逻辑等等。
在JavaUtils类中有一个refValid方法验证key和result是否有效
在一个ActivationDriver类的activate方式
是进行激活验证。
下载后新建一个工程,将这个jar包加入到项目的依赖Libary。 将javassist加入到依赖中,用于修改class文件。
编写一个简单的Main类和Main方法。
这样会在执行java命令的目录(在Idea里是project下面的目录)生成一个hello文件夹,下面有ActivationResult这个类。
将com文件夹和mybatis_plus.jar文件夹放到一个目录,执行
这样就把修改的class文件替换了。
重启Idea即可生效
背景
一些java软件要进行收费,很多采用远程认证的方式,jar包代码中肯定有一个地方处理是否已经认证。我们通过一些手段,如本地建立一个认证服务器、修改jar包class文件修改认证逻辑等等。
分析
本地采取idea插件[mybatis pluin]进行实验,因为这个比较简单。在JavaUtils类中有一个refValid方法验证key和result是否有效
在一个ActivationDriver类的activate方式
是进行激活验证。
环境
MAC Intellj 15 (16也是类似的)步骤
下载插件找到对应的存储jar包的位置,如在我的机器上是~/Library/Application Support/IntelliJIdea15/mybatis_plus/lib下载后新建一个工程,将这个jar包加入到项目的依赖Libary。 将javassist加入到依赖中,用于修改class文件。
编写一个简单的Main类和Main方法。
package javaassist; import javassist.CannotCompileException; import javassist.ClassPool; import javassist.CtClass; import javassist.CtMethod; import javassist.NotFoundException; import java.io.IOException; /** * Description: * * @author liuzhengyang * @version 1.0 * @since 2016-09-16 */ public class Main { public static void main(String[] args) throws NotFoundException { ClassPool pool = ClassPool.getDefault(); CtClass driverClass = pool.get("com.seventh7.mybatis.ref.license.ActivationDriver"); CtClass javaUtil = pool.get("com.seventh7.mybatis.util.JavaUtils"); CtMethod activate = driverClass.getMethod("activate", "(Ljava/lang/String;)Lcom/seventh7/mybatis/ref/license/ActivationResult;"); CtMethod refValid = javaUtil.getDeclaredMethod("refValid"); try { refValid.setBody("{return true;}"); } catch (CannotCompileException e) { e.printStackTrace(); } System.out.println(activate); try { 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;}"); } catch (CannotCompileException e) { e.printStackTrace(); } try { driverClass.writeFile("hello"); javaUtil.writeFile("hello"); } catch (CannotCompileException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
这样会在执行java命令的目录(在Idea里是project下面的目录)生成一个hello文件夹,下面有ActivationResult这个类。
将com文件夹和mybatis_plus.jar文件夹放到一个目录,执行
jar uvf mybatis_plus.jar com
这样就把修改的class文件替换了。
重启Idea即可生效
相关文章推荐
- mac下 idea mybatis2.92插件破解
- IDEA安装Mybatis插件安装及破解步骤
- Intellij IDEA Mybatis plugin插件破解安装
- idea的mybatis插件,安装需破解
- 【IDEA】Mybatis Plugin插件安装破解及使用
- IDEA中安装MyBatis Plugins(Mybatis-Generator)插件及破解方法
- Idea的mybatis插件破解
- idea 2017.1.3 破解及mybatis_plugs插件破解
- idea中Mybatis Plugin插件安装破解及使用
- Intellij IDEA Mybatis plugin插件破解安装
- IDEA 安装 mybatis-plugin并破解
- mybatis-generator自动生成代码插件使用详解 idea
- IDEA的 mybatis插件报错 - IDE Fatal Errors
- Mybatis 自动生成代码插件&IDEA插件
- 方便好用的 Idea mybatis 插件 MyBatisCodeHelper
- IDEA插件JRebel安装配置与破解激活详细教程
- IntelliJ Idea Mybatis Plugin 安装及破解
- mac IDEA Mybatis-plugin破解、使用教程最新版
- idea中mybatis三剑客之mybatis plugin的破解安装讲解以及
- Mybatis Plugin插件安装破解及使用