• Elasticsearch6.5.2 X-pack破解及安装教程


    先正常安装 elasticSearch, kibana。

    1. 如果是6.5.2版本,可以直接下载jar文件:https://download.csdn.net/download/bigben0123/10932740。跳过此步。

    重写x-pack下的2个类:LicenseVerifier.java和XPackBuild.java

    直接拿走重写完的类链接: https://pan.baidu.com/s/1ESqoZW8eieO7Zdgs31hxsQ 密码: uqnd

    覆盖流程

    1.用zip软件打开 找到的目标jar包 elasticsearch-6.5.2modulesx-packx-pack-corex-pack-core-6.5.2.jar。
    2.用LicenseVerifier.class 覆盖x-pack-core-6.5.2.jarorgelasticsearchlicense目录下的同名文件
    3.同理用 XPackBuild.class 覆盖 x-pack-core-6.5.2.jarorgelasticsearchxpackcore 目录下的同名文件

    直接保存成新的jar。替换以前的即可。

    2. 在elasticsearch.yml 中 添加一下配置

    xpack.security.enabled:false

    重启elasticsearch

    3. 在kibana的左边菜单 Management-> Licence -> apply trail license。等待几个小时后收到 license,修改如下两项:

    "type":"platinum","issue_date_in_millis":1548115200000,"expiry_date_in_millis":3107746200000

    4,在kibana的左边菜单 Management-> Licence ->update license即可。

    参考:

    https://www.plaza4me.com/article/20180825223849878 靠谱

    https://www.jianshu.com/p/6acfeabb44f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    https://www.jianshu.com/p/1ff67bb363dd

    https://blog.csdn.net/q258523454/article/details/82426837


    破解原理:

    用Luyten 反编译x-pack-core-6.5.2.jar文件。Luyten下载地址:https://github.com/deathmarine/Luyten/releases/tag/v0.5.3。

    软件下载下来,打开软件,把x-pack-core-6.5.2.jar 丢进去,就能看到我们jar包的源代码了。
    我们需要把2个文件提取出来进行修改。
    org.elasticsearch.license.LicenseVerifier
    org.elasticsearch.xpack.core.XPackBuild

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

    package org.elasticsearch.license;
     
    import java.nio.*;
    import org.elasticsearch.common.bytes.*;
    import java.util.*;
    import java.security.*;
    import org.elasticsearch.common.xcontent.*;
    import org.apache.lucene.util.*;
    import org.elasticsearch.core.internal.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;
        }
    }
    View Code

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

    package org.elasticsearch.xpack.core;
     
    import org.elasticsearch.common.SuppressForbidden;
    import org.elasticsearch.common.io.PathUtils;
     
    import java.net.URISyntaxException;
    import java.net.URL;
    import java.nio.file.Path;
     
     
    public class XPackBuild {
        public static final XPackBuild CURRENT;
        private String shortHash;
        private String date;
     
        static {
            String shortHash;
            String date;
            shortHash = "Unknown";
            date = "Unknown";
            CURRENT = new XPackBuild(shortHash, date);
        }
     
     
        @SuppressForbidden(reason = "looks up path of xpack.jar directly")
        static Path getElasticsearchCodebase() {
            URL url = XPackBuild.class.getProtectionDomain().getCodeSource().getLocation();
            try {
                return PathUtils.get(url.toURI());
            } catch (URISyntaxException bogus) {
                throw new RuntimeException(bogus);
            }
        }
     
     
        XPackBuild(String shortHash, String date) {
            this.shortHash = shortHash;
            this.date = date;
        }
     
        public String shortHash() {
            return shortHash;
        }
     
        public String date() {
            return date;
        }
    }

    编译修改后的java文件

    原文写的是:

    1.  
      javac -cp ".:./x-pack-core-6.3.2.jar:./elasticsearch-6.4.0/lib/*" LicenseVerifier.java
    2.  
      javac -cp ".:./x-pack-core-6.3.2.jar:./elasticsearch-6.4.0/lib/*" XPackBuild.java

    我使用的是:

    1.  
      javac -cp "/Users/mac/Documents/elasticsearch-6.4.0/modules/x-pack-core/x-pack-core-6.4.0.jar:/Users/mac/Documents/elasticsearch-6.4.0/lib/*" LicenseVerifier.java
    2.  
      javac -cp "/Users/mac/Documents/elasticsearch-6.4.0/modules/x-pack-core/x-pack-core-6.4.0.jar:/Users/mac/Documents/elasticsearch-6.4.0/lib/*" XPackBuild.java

    需要注意的是,编译这两个文件的时候 需要指定依赖包的位置 如果你的位置和我的有区别,注意修改。

    将编译好的class文件重新压回x-pack-core-6.4.0.jar

    解压x-pack-core-6.4.0.jar 会得到一个 x-pack-core-6.4.0目录,按照其位置将编译好的2个 class文件放到我们目录里面,替换老的。

      1.  
        直接用命令即可
      2.  
        [unjar] jar -xvf abc.jar
      3.  
        [jar] jar cf abc.jar input-files
         
         
         
         
         
  • 相关阅读:
    Linux shell 常用命令记录
    [Bat]批量重命名文件
    【转】java术语(PO/POJO/VO/BO/DAO/DTO)
    TesseractOCR3.0语言库训练步骤
    关于Delphi Rtti对应TDatetime的一些启示
    Ubuntu Server 12.04 安装mysql 5.6.10
    Delphi透明 圆角 窗体 【转】
    奇怪的~用法
    很有用的VS2005插件——SlickEdit
    还不习惯Office 2007
  • 原文地址:https://www.cnblogs.com/bigben0123/p/10305204.html
Copyright © 2020-2023  润新知