code学习

ElasticSearch破解x-pack 6.0+和更新许可证(License)

概要

x-pack首次安装可以免费使用一年,过期之后登陆会有如下提示:

# http://192.168.0.166:5601/login
Login is disabled because your license has expired. 
Please extend your license or disable Security in      
ElasticSearch破解x-pack 6.0+和更新许可证(License)

正常情况下应该是这样的: 

ElasticSearch破解x-pack 6.0+和更新许可证(License)

6.2 与之前版本的包结构变化很大,进入elasticsearch目录,找到x-pack-core-6.2.*.jar,*号为当前使用的版本,如笔者使用是是进入elasticsearch目录,找到x-pack-core-6.2.3.jar,

在eclipse中新建两个类,必须按包结构建好:!

LicenseVerifier 中有两个静态方法,这就是验证授权文件是否有效的方法,我们把它修改为全部返回true.

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{

        return true;

    }

}      

XPackBuild 中 最后一个静态代码块中 try的部分全部删除,这部分会验证jar包是否被修改

package org.elasticsearch.xpack.core;

import org.elasticsearch.common.io.*;

import java.net.*;

import org.elasticsearch.common.*;

import java.nio.file.*;

import java.io.*;

import java.util.jar.*;

public class XPackBuild{

    public static final XPackBuild CURRENT;

    private String shortHash;

    private String date;

    @SuppressForbidden(reason = "looks up path of xpack.jar directly")

    static Path getElasticsearchCodebase(){

        final URL url = XPackBuild.class.getProtectionDomain().getCodeSource().getLocation();

        try {

            return PathUtils.get(url.toURI());

        }

        catch (URISyntaxException bogus) {

            throw new RuntimeException(bogus);

        }

    }

    XPackBuild(final String shortHash, final String date) {

        this.shortHash = shortHash;

        this.date = date;

    }

    public String shortHash(){

        return this.shortHash;

    }

    public String date(){

        return this.date;

    }

    static {

        final Path path = getElasticsearchCodebase();

        String shortHash = null;

        String date = null;

        Label_0157: {

            shortHash = "Unknown";

            date = "Unknown";

        }

        CURRENT = new      

编译java文件,把class文件替换到原来的x-pack-core-6.2.3.jar中对应的目录中去.

安装破解的x-pack

将破解好的x-pack-core-6.2.3.jar 替换到已经安装好的 elasticsearch 中 路径为 /opt/elasticsearch-6.2.3/plugins/x-pack/x-pack-core

需要替换集群中所有的x-pack

初次安装需要重置默认的帐号密码

./bin/x-pack/setup-passwords interactive      

这样破解的x-pack就安装好了

后续工作

elasticsearch 6.2.3 中默认开启了安全验证,我们暂时修改配置文件以方便导入自己的文件

在elasticsearch.yml 中 添加一下配置

xpack.security.enabled:false      

重启集群

此时其实破解已经完毕了,我们只需要导入一个白金版的版权文件即可

打开Kibana的控制台http://localhost:5601/

Elasticsearch-

​​License Management​​,

ElasticSearch破解x-pack 6.0+和更新许可证(License)

再点击安装新授权文件

ElasticSearch破解x-pack 6.0+和更新许可证(License)

授权文件是需要到官网申请的,但个人能申请到的是basic的基础版本,因为x-pack已经被破解,所以我们可以直接修改申请到的json文件,修改里面的内容为完整版,并将有效期修改为2050年

在本地新建一个文件license.json

拷贝如下内容进去

{"license":{"uid":"280afc36-d654-4b04-884a-e51da9afb978","type":"platinum","issue_date_in_millis":1526083200000,"expiry_date_in_millis":2524579200999,"max_nodes":1000,"issued_to":"shi zhenzhou (czbk)","issuer":"Web Form","signature":"AAAAAwAAAA0aa2PBU7OqnL8KuGncAAABmC9ZN0hjZDBGYnVyRXpCOW5Bb3FjZDAxOWpSbTVoMVZwUzRxVk1PSmkxaktJRVl5MUYvUWh3bHZVUTllbXNPbzBUemtnbWpBbmlWRmRZb25KNFlBR2x0TXc2K2p1Y1VtMG1UQU9TRGZVSGRwaEJGUjE3bXd3LzRqZ05iLzRteWFNekdxRGpIYlFwYkJiNUs0U1hTVlJKNVlXekMrSlVUdFIvV0FNeWdOYnlESDc3MWhlY3hSQmdKSjJ2ZTcvYlBFOHhPQlV3ZHdDQ0tHcG5uOElCaDJ4K1hob29xSG85N0kvTWV3THhlQk9NL01VMFRjNDZpZEVXeUtUMXIyMlIveFpJUkk2WUdveEZaME9XWitGUi9WNTZVQW1FMG1DenhZU0ZmeXlZakVEMjZFT2NvOWxpZGlqVmlHNC8rWVVUYzMwRGVySHpIdURzKzFiRDl4TmM1TUp2VTBOUlJZUlAyV0ZVL2kvVk10L0NsbXNFYVZwT3NSU082dFNNa2prQ0ZsclZ4NTltbU1CVE5lR09Bck93V2J1Y3c9PQAAAQAdqCi5COi5J2pKpGQUrKDVGZ3xixzTW3KTImsYnnP5yAlObcgfvVYsmYZlDGv2AmSrUCV5iUAzWABLRMo7rnQwfvlPIs8XvKIzPaND0i+Uc5SkT1+oA56PzRFrufZwY/H4yqOaKe4JvE5bVUqwngQD07FHyM2o1i3lOc3NaR1GPR0AoCGQKUQr2NXWf6YwUi/scQh+JzHbWEiIzwYgSOAnIU7wg8kK9uF5bTuEK4LiCWGX8PDYQdoJp4Qm1PUH3l7YdWbfwGWSqe/N/S4iKbUKesogHkiVRc0A0sIaAM6rZZ6Go9ozKWjZ4n0Rd2hFs21wF80GTrQPU6T8/oTXMQJL","start_date_in_millis":1526083200000}}

此文件已经修改完毕,可以直接使用

ElasticSearch破解x-pack 6.0+和更新许可证(License)

最终效果

继续阅读