X-Pack破解試用
聲明:本文僅作為學(xué)習(xí)交流台汇,請(qǐng)勿用于商業(yè)用途衷咽,否則后果自負(fù)亥宿。如需使用黃金或白金版X-Pack請(qǐng)購(gòu)買正版利凑。
從5.0版本開始浆劲,Elastic將一些重要的插件整合成了X-Pack嫌术。免費(fèi)的license只能使用一年,而且很多插件無(wú)法使用牌借。如果想要試用度气,需要進(jìn)行破解。
- 首先完成原版X-Pack在Elastic上的安裝膨报。
- 在x-pack-5.2.0.zip中磷籍,找到x-pack-5.2.0.jar。這里使用JD-GUI是無(wú)法反編譯的现柠,我使用的是Luyten進(jìn)行反編譯院领。
- 將
org.elasticsearch/license/LicenseVerifier.class
反編譯并保存出來(lái)。這個(gè)類是檢查license完整性的類够吩,我們使其始終返回true比然,就可以任意修改license并導(dǎo)入。將其改為:
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文件周循。注意這里我們無(wú)需編譯整個(gè)工程强法,將原來(lái)的x-pack-5.2.0.jar和依賴包加入CLASSPATH,即可完成單個(gè)文件的編譯湾笛。實(shí)際上只用到了3個(gè)依賴包饮怯,如果是用RPM或DEB安裝的,直接運(yùn)行:
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包部署到各節(jié)點(diǎn)上,并重啟集群临扮。 - 申請(qǐng)一個(gè)免費(fèi)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_millis
靶橱、max_nodes
等根據(jù)自己需要修改即可寥袭。 -
把該license導(dǎo)入集群即可,破解結(jié)果如下:
破解截圖