热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Elasticsearch中XPack破解试用

Elasticsearch中X-Pack破解试用声明:本文仅作为学习交流,请勿用于商业用途,否则后果自负。如需使用黄金或白金版X-Pac

Elasticsearch中 X-Pack破解试用

声明:本文仅作为学习交流,请勿用于商业用途,否则后果自负。如需使用黄金或白金版X-Pack请购买正版。
从5.0版本开始,Elastic将一些重要的插件整合成了X-Pack。免费的license只能使用一年,而且很多插件无法使用。如果想要试用,需要进行破解。


  • 首先完成原版X-Pack在Elastic上的安装。
  • 下载x-pack-5.2.0.zip,找到x-pack-5.2.0.jar。这里使用JD-GUI是无法反编译的,我使用的是Luyten进行反编译。
  • org.elasticsearch/license/LicenseVerifier.class反编译并保存出来。这个类是检查license完整性的类,我们使其始终返回true,就可以任意修改license并导入。将其改为:

package org.elasticsearch.license;import java.nio.*;
import java.util.*;
import java.security.*;
import org.elasticsearch.common.xcontent.*;
import org.apache.lucene.util.*;
import org.elasticsearch.common.io.*;
import java.io.*;public class LicenseVerifier
{
public static boolean verifyLicense(final License license, final byte[] encryptedPublicKeyData) {return true;}public static boolean verifyLicense(final License license) {return true;}
}

  • 然后需要重新编译class文件。注意这里我们无需编译整个工程,将原来的x-pack-5.2.0.jar和依赖包加入CLASSPATH,即可完成单个文件的编译。实际上只用到了3个依赖包,如果是用RPM或DEB安装的,直接运行:

javac -cp "/usr/share/elasticsearch/lib/elasticsearch-5.2.0.jar:/usr/share/elasticsearch/lib/lucene-core-6.4.0.jar:/usr/share/elasticsearch/plugins/x-pack/x-pack-5.2.0.jar" LicenseVerifier.java

  • 把x-pack-5.2.0.jar用压缩文件管理器打开,将里面的LicenseVerifier.class替换掉。再把破解了的jar包部署到各节点上,并重启集群。
  • 申请一个免费license。下载后修改,例如:

{"license":{"uid":"helloworld","type":"platinum","issue_date_in_millis":1486598400000,"expiry_date_in_millis":2524579200999,"max_nodes":1000,"issued_to":"helloworld","issuer":"Web Form","signature":"helloworld","start_date_in_millis":1486598400000}}

  • 这里,platinum表示白金版,可以使用所有功能。其他的如expiry_date_in_millismax_nodes等根据自己需要修改即可。
  • 把该license导入集群即可:

curl -XPUT -u elastic 'http://localhost:9200/_xpack/license?acknowledge=true' -H "Content-Type: application/json" -d @license.json

  • 破解结果如下:
    破解截图

补充说明

现在Elastic已经更新到了6.3版本,license机制与之前不同。最近的可用此方法的版本是6.2。以6.2.0为例,编译命令为:

javac -cp "/usr/share/elasticsearch/lib/elasticsearch-6.2.0.jar:/usr/share/elasticsearch/lib/lucene-core-7.2.1.jar:/usr/share/elasticsearch/plugins/x-pack/x-pack-core/x-pack-core-6.2.0.jar" LicenseVerifier.java

推荐阅读
author-avatar
tina田小甜Shirley
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有