JIRA 6.0.1 (ZIP Archive)最新破解方法,绝对可用
内部邀请码:C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。
原文地址: http://blog.csdn.net/joinandjoin/article/details/9052785
最新公司换了新项目,项目比较大,每次更改bug,修改source都很费劲,特别是提交测试后再次回退修改,每次都很麻烦,突然想到使用JIRA本地管理一下自己的任务,于是去官网下载。发现官方网站已经更新到6.0.1版本。
JIRA是有License的,很不爽,于是百度破解,发现最新的破解也只是适用5.2.4版本。对比了一下网上的破解方法,基本上都是更改atlassian-extras-2.2.2.jar这个jar包,6.0.1版本也是用的这个jar包,于是认为改动应该不大,于是着手自己破解。过程如下:
1、任意建立一个eclipse的java项目,将atlassian-extras-2.2.2.jar包以外的atlassian-jira\WEB-INF\lib下jar导入到工程的类路径。
2、反编译atlassian-extras-2.2.2.jar包,得到source,将该souce作为1中建立的项目的源码。编译工程,一般反编译的source在异常处理处会出错,throw语句会放在catch语句之后,稍微修改即可。
3、JIRA5版本的破解主要更改两个文件JiraLicenseStoreImpl.java,Version2LicenseDecoder.java;通过实验JIRA6可以不用修改JiraLicenseStoreImpl.class文件。但是JIRA6破解需要修改另一个文件LicenseManager.java如果不修改该文件,破解后管理插件时候会提示没有可用的有效License。本文最后会贴出修改后的代码。
4、开始启动JIRA6,按照提示配置安装(安装教程和JIRA5版本类似,此处略)时候到填写License的时候会提示你去JIRA的网站申请一个帐号和试用License。去申请一个得到一个试用License,如下图
记住Service ID,SEN和license Key,后面会用到。
填写申请到的license Key使安装继续到创建完管理员账户。关闭JIRA。
5、用Version2LicenseDecoder.class和LicenseManager.class替换atlassian-extras-2.2.2.jar对应文件,注意LicenseManager.class文件在atlassian-extras-2.2.2.jar有两个同名的文件,要替换非抽象的那个,不要替换错了。
6、替换之后重新启动JIRA,并用管理员登录。进入到授权管理页面,如下图
这是我破解后的样子,破解签是JIRA:EVALUATION,时间是安装时间一个月后到期。
进去后,在新的License输入框中输入明码
Description=JIRA: Commercial,
CreationDate=你的安装日期,格式(yyyy-mm-dd),
jira.LicenseEdition=ENTERPRISE,
Evaluation=false,
jira.LicenseTypeName=COMMERCIAL,
jira.active=true,
licenseVersion=2,
MaintenanceExpiryDate=你想设置的失效日期如:2099-12-31,
Organisation=你的JIRA网站的注册名,
SEN=你申请到的SEN注意没有前缀LID,
ServerID=你申请到的ServerID,
jira.NumberOfUsers=-1,
LicenseID=LID你申请到的SEN,注意LID前缀不要丢掉,
LicenseExpiryDate=你想设置的失效日期如:2099-12-31,
PurchaseDate=你的安装日期,格式(yyyy-mm-dd)
注意要用“,”分割。
点击ADD添加先的License。如果没有错误,可以看到License已经更新了。
7、上述破解后,如果你去安装中文插件会看到无效的License提示,但是中文插件也是可以成功安装的,但是插件管理部分无法正常使用。原因是JIRA6在一些功能中使用的是插件式的验证机制。还要更新一个jar包,这个jar包是atlassian-bundled-plugins.zip中的atlassian-universal-plugin-manager-plugin-2.10.1.jar;该jar中也有Version2LicenseDecoder.class和LicenseManager.class文件,同样用修改过的文件替换,然后重启JIRA,插件管理功能可以正常使用了。
附上修改的代码:
Version2LicenseDecoder类
将canDecode方法改名为canDecode2,再新建一个canDecode方法,方法直接返回true;
- public boolean canDecode2(String licenseString)
- {
- licenseString = removeWhiteSpaces(licenseString);
- int pos = licenseString.lastIndexOf('X');
- if ((pos == -1) || (pos + 3 >= licenseString.length()))
- {
- return false;
- }
- try
- {
- int version = Integer.parseInt(licenseString.substring(pos + 1, pos + 3));
- if ((version != 1) && (version != 2))
- {
- return false;
- }
- String lengthStr = licenseString.substring(pos + 3);
- int encodedLicenseLength = Integer.valueOf(lengthStr, 31).intValue();
- return pos == encodedLicenseLength;
- }
- catch (NumberFormatException e)
- {
- }
- return false;
- }
- public boolean canDecode(String licenseString)
- {
- return true;
- }
修改doDecode方法
- public Properties doDecode(String licenseString)
- {
- Properties result = null;
- String encodedLicenseTextAndHash = null;
- if (canDecode2(licenseString)){
- encodedLicenseTextAndHash = getLicenseContent(removeWhiteSpaces(licenseString));
- byte[] zippedLicenseBytes = checkAndGetLicenseText(encodedLicenseTextAndHash);
- Reader licenseText = unzipText(zippedLicenseBytes);
- result = loadLicenseConfiguration(licenseText);
- } else {
- encodedLicenseTextAndHash = removeWhiteSpaces(licenseString);
- result = new Properties();
- if (encodedLicenseTextAndHash != null && encodedLicenseTextAndHash.length()>0){
- String[] proStrs = encodedLicenseTextAndHash.split(",");
- if (proStrs!= null && proStrs.length>0){
- for (String property : proStrs){
- String[] proStr = property.split("=");
- result.put(proStr[0], proStr[1]);
- }
- }
- }
- }
- return result;
- }
其他方法不做任何更改。
LicenseManager类
修改hasValidLicense方法,直接返回true;
- public boolean hasValidLicense(String licenseKey)
- {
- return true;
- //return (getLicense(licenseKey) != null) && (!getLicense(licenseKey).isExpired());
- }
破解完成。
之后可以安装中文插件,汉化一下。
大家也可以去CSDN 下载破解包, 里面是直接打包好的补丁。
以上修改只用于学习研究之用,请不要用于任何商业用途,任何由此产生的法律纠纷,均与本人无关,本人概不负责。
JIRA 6.0.1 (ZIP Archive)最新破解方法,绝对可用的更多相关文章
- IntelliJ IDEA2018.3 最新破解方法
IntelliJ IDEA2018.3 最新破解方法 输入 http://idea.java.sx/ 即可,亲测可用.如果资金允许还是希望大家能支持正版,尊重原创 ------------- ...
- IntelliJ IDEA最新破解方法
IntelliJ IDEA最新破解方法 首先说下,本人使用idea版本是2021.2.3. 一.下载IDEA(推荐从官网下载) 官网地址:https://www.jetbrains.com/idea/ ...
- phpstorm 2016.3.2 的最新破解方法
v2.0 最新的方式 第一:下载PHPStorm20173.2:(下载链接:windows) 第二:直接用浏览器打开 http://idea.lanyus.com/ ,点击页面中的“获得注册码”,然后 ...
- phpstorm 2016.3.2 的最新破解方法(截止2017-2-20)
最新更新 ,http://idea.imsxm.com 这个地址是亲测可用的,针对最新的phpstorm 2016.3.2的版本.使用方式和下面一致,选择license server.然后复制http ...
- phpstorm 2016.2 的最新破解方法(截止2016-8-1)
今天刚更新了phpstorm 2016.2版本,发现网上提供的破解地址都有问题,即*.lanyus.com及*.qinxi1992.cn下的全部授权服务器已遭JetBrains封杀. 最后网上找到一个 ...
- Meth | phpstorm 2016.2 的最新破解方法(截止2016-8-1)
今天刚更新了phpstorm 2016.2版本,发现网上提供的破解地址都有问题,即*.lanyus.com及*.qinxi1992.cn下的全部授权服务器已遭JetBrains封杀. 最后网上找到一个 ...
- Adobe Flash Builder 4.7破解方法(绝对可用)
Flash Builder4.7 破解方法的实践 建议:作为草根一级,买不起正版,只能先拿破解版练练手了,如果商业的话,请用正版. 具体步骤如下: 1.到Adobe官网下载FlashBuilder ...
- JetBrains GoLand 2018 激活码/ 注册码(最新破解方法)
1 前言 本机测试环境如下: Goland版本:2018.1.5 电脑系统:win7 64位 JetbrainsCrack.jar:链接: https://pan.baidu.com/s/1blmN3 ...
- idea2017.3最新破解方法
IntelliJ IDEA2017.3 激活 转载至:http://blog.csdn.net/zx110503/article/details/78734428 最新的IDEA激活方式 使用网上传 ...
随机推荐
- 玩玩EXPRESSJS
呵呵,反正有的是学习时间哈哈, 这个EXPRESSJS,看看实现的大约. 看的是http://www.expressjs.com.cn/ 代码A: var express = require('exp ...
- SQL Server 索引结构及其使用(一)
转载:SQL Server 索引结构及其使用(一) 作者:freedk 一.深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索引(clus ...
- MapReduce——计算温度最大值 (基于全新2.2.0API)
MapReduce——计算温度最大值 (基于全新2.2.0API) deprecated: Job类的所有Constructors, 新的API用静态方法getInstance(conf)来去的Job ...
- ORA-28001: the password has expired
大早上正式库提示: Oracle提示错误消息ORA-28001: the password has expired 解决办法: 1.利用SYSDBA权限登陆: 2.查看账户信息:select user ...
- BZOJ_1610_[Usaco2008_Feb]_Line连线游戏_(计算几何基础+暴力)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1610 给出n个点,问两两确定的直线中,斜率不同的共有多少条. 分析 暴力枚举直线,算出来斜率放 ...
- NuGet -- 如何创建及发布自己的程序包
STEP 1:在NuGet上注册并获取API Key 首先,你需要在NuGet(https://www.nuget.org/)上注册一个新的账号,然后在My Account页面,获取一个API ...
- ☀【jQuery 优化】jQuery基础教程(第3版)
jQuery代码优化:选择符篇 √ http://www.ituring.com.cn/article/377 jQuery代码优化:遍历篇 √ http://www.ituring.com.cn/a ...
- android 欢迎界面的淡入效果
package com.example.spinnertest; import android.app.Activity; import android.content.Intent; import ...
- 《C#并行编程高级教程》第6章 PLINQ:声明式数据并行 笔记
PLINQ这个话题好多书都写到过,这本也没有什么特别好的地方. 几个有用和有趣的点记录一下. 顺序的不确定性 用PLINQ就一定要记住并行后会导致顺序不确定的问题.解决方案就是AsOrdered或 ...
- MVC3.0 中Razor 学习
随着MVC3.0RTM版本的发布,最近将公司的项目从MVC2.0升级到MVC3.0.同时打算在MVC3中全面使用Razor模板引擎.现将Razor学习拿出来和大家分享,如果存在不足的地方欢迎您指出. ...