6.3バージョンx-pack解読
3951 ワード
ステップ1:
Elasticsearch-6.3.0modulesx-packx-pack-coreディレクトリの下にx-pack-core-6.3.0が見つかりました.JAr、コピーしてバックアップを残す
ステップ2:新しい2つのjavaファイルをLicenseVerifierと名付けます.JAvaとXPackBuild.java
ステップ3:2つのファイルをコンパイルする
javac -cp "/usr/share/elasticsearch/modules/x-pack/x-pack-core/x-pack-core-6.3.0.jar:/usr/share/elasticsearch/lib/lucene-core-7.3.1.jar:/usr/share/elasticsearch/lib/elasticsearch-6.3.0.jar:/usr/share/elasticsearch/lib/elasticsearch-core-6.3.0.jar" LicenseVerifier.java
javac -cp "/usr/share/elasticsearch/modules/x-pack/x-pack-core/x-pack-core-6.3.0.jar:/usr/share/elasticsearch/lib/lucene-core-7.3.1.jar:/usr/share/elasticsearch/lib/elasticsearch-6.3.0.jar:/usr/share/elasticsearch/lib/elasticsearch-core-6.3.0.jar” XPackBuild.java
ステップ4:x-pack-core-6.3.0を置き換える.JArのclassファイル
mkdir org/elasticsearch/license/
mv LicenseVerifier.class org/elasticsearch/license/LicenseVerifier.class
jar uvf x-pack-core-6.3.0.jar org/elasticsearch/license/LicenseVerifier.class
mkdir org/elasticsearch/xpack/core/
mv LicenseVerifier.class org/elasticsearch/xpack/core/XPackBuild.class
jar uvf x-pack-core-6.3.0.jar org/elasticsearch/xpack/core/XPackBuild.class
ステップ5:
license証明書の取得
①https://license.elastic.co/registrationいくつかのユーザー名を記入して、メールボックス(重要で、ダウンロードのリンクを取得します)、CountryはChinaを選んで、その他の情報は勝手に記入します
②メールボックスで取得したアドレスを開き、ダウンロードしたファイルをlicenseと改名する.json
③ファイルの内容を変更し、2つの属性を
「type」:「basic」を「type」:「platinum」#ベース版をプラチナ版に変更
[expiry_date_in_millis]:1561420799999を[expiry_date_in_millis]:31077462000#1年から50年に変更
④curlでlicenseを置き換える(license.jsonとは、属性を変更した証明書をダウンロードしたばかりで、elasticsearchサービスを開くことを指す)
curl -H "Content-Type: application/json"-XPUT 'http://192.168.7.245:9200/_xpack/license?acknowledge=true' -d @license.json
⑤失敗した場合は、プロファイルの変更
xpack.security.enabled: false
解読に成功してから改める
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
⑥アップロード後の証明書閲覧時間
curl -XGET http://192.168.7.245:9200/_license
Elasticsearch-6.3.0modulesx-packx-pack-coreディレクトリの下にx-pack-core-6.3.0が見つかりました.JAr、コピーしてバックアップを残す
ステップ2:新しい2つのjavaファイルをLicenseVerifierと名付けます.JAvaとXPackBuild.java
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;
}
}
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 XPackBuild(shortHash, date);
}
}
ステップ3:2つのファイルをコンパイルする
javac -cp "/usr/share/elasticsearch/modules/x-pack/x-pack-core/x-pack-core-6.3.0.jar:/usr/share/elasticsearch/lib/lucene-core-7.3.1.jar:/usr/share/elasticsearch/lib/elasticsearch-6.3.0.jar:/usr/share/elasticsearch/lib/elasticsearch-core-6.3.0.jar" LicenseVerifier.java
javac -cp "/usr/share/elasticsearch/modules/x-pack/x-pack-core/x-pack-core-6.3.0.jar:/usr/share/elasticsearch/lib/lucene-core-7.3.1.jar:/usr/share/elasticsearch/lib/elasticsearch-6.3.0.jar:/usr/share/elasticsearch/lib/elasticsearch-core-6.3.0.jar” XPackBuild.java
ステップ4:x-pack-core-6.3.0を置き換える.JArのclassファイル
mkdir org/elasticsearch/license/
mv LicenseVerifier.class org/elasticsearch/license/LicenseVerifier.class
jar uvf x-pack-core-6.3.0.jar org/elasticsearch/license/LicenseVerifier.class
mkdir org/elasticsearch/xpack/core/
mv LicenseVerifier.class org/elasticsearch/xpack/core/XPackBuild.class
jar uvf x-pack-core-6.3.0.jar org/elasticsearch/xpack/core/XPackBuild.class
ステップ5:
license証明書の取得
①https://license.elastic.co/registrationいくつかのユーザー名を記入して、メールボックス(重要で、ダウンロードのリンクを取得します)、CountryはChinaを選んで、その他の情報は勝手に記入します
②メールボックスで取得したアドレスを開き、ダウンロードしたファイルをlicenseと改名する.json
③ファイルの内容を変更し、2つの属性を
「type」:「basic」を「type」:「platinum」#ベース版をプラチナ版に変更
[expiry_date_in_millis]:1561420799999を[expiry_date_in_millis]:31077462000#1年から50年に変更
④curlでlicenseを置き換える(license.jsonとは、属性を変更した証明書をダウンロードしたばかりで、elasticsearchサービスを開くことを指す)
curl -H "Content-Type: application/json"-XPUT 'http://192.168.7.245:9200/_xpack/license?acknowledge=true' -d @license.json
⑤失敗した場合は、プロファイルの変更
xpack.security.enabled: false
解読に成功してから改める
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
⑥アップロード後の証明書閲覧時間
curl -XGET http://192.168.7.245:9200/_license