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.2\modules\x-pack\x-pack-core\x-pack-core-6.5.2.jar。
2.用LicenseVerifier.class 覆蓋x-pack-core-6.5.2.jar\org\elasticsearch\license目錄下的同名文件
3.同理用 XPackBuild.class 覆蓋 x-pack-core-6.5.2.jar\org\elasticsearch\xpack\core 目錄下的同名文件

直接保存成新的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
       
       
       
       
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM