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; } }
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文件
原文写的是:
-
javac -cp ".:./x-pack-core-6.3.2.jar:./elasticsearch-6.4.0/lib/*" LicenseVerifier.java
-
javac -cp ".:./x-pack-core-6.3.2.jar:./elasticsearch-6.4.0/lib/*" XPackBuild.java
我使用的是:
-
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
-
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文件放到我们目录里面,替换老的。
-
直接用命令即可
-
[unjar] jar -xvf abc.jar
-
[jar] jar cf abc.jar input-files
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2016-01-22 Android应用程序消息处理机制
2016-01-22 ThreadPoolExecutor机制
2015-01-22 activity之间的数据传递方法