Sencha JetBrains Plugin测试版破解研究

步骤:

  1. 反编译查看~/.PhpStorm2017.3/config/plugins/sencha-jetbrains-plugin/classes/com/sencha/idea/LicenseValidator.class
  2. 本来打算修改这个文件的,但是发现这个文件内容比较多,怕不好重新编译
  3. 发现验证的License文件放在 ~/.local/share/data/Sencha/JBPlugin/user.license
  4. 发现只要去掉“Product"字段的Trial就会判断不是测试版了,但是直接改的话会校验Signature,这个是根据这些字段值通过算法加密产生的,用于保证不被修改
  5. 查看是用的CryptoUtil这个工具类来校验的,那就简单了,用JD-GUI导出CryptoUtil.class为CryptoUtil.java,直接修改verifyBase64Signature方法,直接返回true
  6. javac编译CryptoUtil.java,纠错,再编译,纠错修改代码,再编译
  7. 去掉了GroovyObject实现,不知道有没有另外影响。。。。。。。
  8. 生成的CryptoUtil.class复制覆盖原来的
  9. 目前没有提示插件是测试版的信息了,持续观察中。。
javac -classpath /home/czm/.PhpStorm2017.3/config/plugins/sencha-jetbrains-plugin/classes:/home/czm/.PhpStorm2017.3/config/plugins/sencha-jetbrains-plugin/lib/commons-net-3.3.jar:/home/czm/.PhpStorm2017.3/config/plugins/sencha-jetbrains-plugin/lib/groovy-2.4.3.jar CryptoUtil.java

你可能感兴趣的:(Sencha JetBrains Plugin测试版破解研究)