国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html
内部邀请码: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;

  1. public boolean canDecode2(String licenseString)
  2. {
  3. licenseString = removeWhiteSpaces(licenseString);
  4. int pos = licenseString.lastIndexOf('X');
  5. if ((pos == -1) || (pos + 3 >= licenseString.length()))
  6. {
  7. return false;
  8. }
  9. try
  10. {
  11. int version = Integer.parseInt(licenseString.substring(pos + 1, pos + 3));
  12. if ((version != 1) && (version != 2))
  13. {
  14. return false;
  15. }
  16. String lengthStr = licenseString.substring(pos + 3);
  17. int encodedLicenseLength = Integer.valueOf(lengthStr, 31).intValue();
  18. return pos == encodedLicenseLength;
  19. }
  20. catch (NumberFormatException e)
  21. {
  22. }
  23. return false;
  24. }
  25. public boolean canDecode(String licenseString)
  26. {
  27. return true;
  28. }

修改doDecode方法

  1. public Properties doDecode(String licenseString)
  2. {
  3. Properties result = null;
  4. String encodedLicenseTextAndHash = null;
  5. if (canDecode2(licenseString)){
  6. encodedLicenseTextAndHash = getLicenseContent(removeWhiteSpaces(licenseString));
  7. byte[] zippedLicenseBytes = checkAndGetLicenseText(encodedLicenseTextAndHash);
  8. Reader licenseText = unzipText(zippedLicenseBytes);
  9. result = loadLicenseConfiguration(licenseText);
  10. } else {
  11. encodedLicenseTextAndHash = removeWhiteSpaces(licenseString);
  12. result = new Properties();
  13. if (encodedLicenseTextAndHash != null && encodedLicenseTextAndHash.length()>0){
  14. String[] proStrs = encodedLicenseTextAndHash.split(",");
  15. if (proStrs!= null && proStrs.length>0){
  16. for (String property : proStrs){
  17. String[] proStr = property.split("=");
  18. result.put(proStr[0], proStr[1]);
  19. }
  20. }
  21. }
  22. }
  23. return result;
  24. }

其他方法不做任何更改。

LicenseManager类

修改hasValidLicense方法,直接返回true;

  1. public boolean hasValidLicense(String licenseKey)
  2. {
  3. return true;
  4. //return (getLicense(licenseKey) != null) && (!getLicense(licenseKey).isExpired());
  5. }

破解完成。

之后可以安装中文插件,汉化一下。

大家也可以去CSDN 下载破解包, 里面是直接打包好的补丁。

以上修改只用于学习研究之用,请不要用于任何商业用途,任何由此产生的法律纠纷,均与本人无关,本人概不负责。

JIRA 6.0.1 (ZIP Archive)最新破解方法,绝对可用的更多相关文章

  1. IntelliJ IDEA2018.3 最新破解方法

    IntelliJ IDEA2018.3 最新破解方法 输入    http://idea.java.sx/   即可,亲测可用.如果资金允许还是希望大家能支持正版,尊重原创 ------------- ...

  2. IntelliJ IDEA最新破解方法

    IntelliJ IDEA最新破解方法 首先说下,本人使用idea版本是2021.2.3. 一.下载IDEA(推荐从官网下载) 官网地址:https://www.jetbrains.com/idea/ ...

  3. phpstorm 2016.3.2 的最新破解方法

    v2.0 最新的方式 第一:下载PHPStorm20173.2:(下载链接:windows) 第二:直接用浏览器打开 http://idea.lanyus.com/ ,点击页面中的“获得注册码”,然后 ...

  4. phpstorm 2016.3.2 的最新破解方法(截止2017-2-20)

    最新更新 ,http://idea.imsxm.com 这个地址是亲测可用的,针对最新的phpstorm 2016.3.2的版本.使用方式和下面一致,选择license server.然后复制http ...

  5. phpstorm 2016.2 的最新破解方法(截止2016-8-1)

    今天刚更新了phpstorm 2016.2版本,发现网上提供的破解地址都有问题,即*.lanyus.com及*.qinxi1992.cn下的全部授权服务器已遭JetBrains封杀. 最后网上找到一个 ...

  6. Meth | phpstorm 2016.2 的最新破解方法(截止2016-8-1)

    今天刚更新了phpstorm 2016.2版本,发现网上提供的破解地址都有问题,即*.lanyus.com及*.qinxi1992.cn下的全部授权服务器已遭JetBrains封杀. 最后网上找到一个 ...

  7. Adobe Flash Builder 4.7破解方法(绝对可用)

    Flash Builder4.7 破解方法的实践 建议:作为草根一级,买不起正版,只能先拿破解版练练手了,如果商业的话,请用正版.  具体步骤如下: 1.到Adobe官网下载FlashBuilder  ...

  8. JetBrains GoLand 2018 激活码/ 注册码(最新破解方法)

    1 前言 本机测试环境如下: Goland版本:2018.1.5 电脑系统:win7 64位 JetbrainsCrack.jar:链接: https://pan.baidu.com/s/1blmN3 ...

  9. idea2017.3最新破解方法

    IntelliJ IDEA2017.3 激活  转载至:http://blog.csdn.net/zx110503/article/details/78734428 最新的IDEA激活方式 使用网上传 ...

随机推荐

  1. Computer Vision的尴尬---by林达华

    Computer Vision的尴尬---by林达华 Computer Vision是AI的一个非常活跃的领域,每年大会小会不断,发表的文章数以千计(单是CVPR每年就录取300多,各种二流会议每年的 ...

  2. Ubuntu使用apt-get安装本地deb包

    我们都喜欢使用apt-get,因为它实在是让我们大大的省心.但是,有时候我们会为网速慢,安装源不好而烦恼,所以我们可能会将一些常用软件包的deb文件保存在本地以备不时之需.当然了使用dpkg也可以直接 ...

  3. Java 8 vs. Scala(二):Stream vs. Collection

    [编者按]在之前文章中,我们介绍了 Java 8和Scala的Lambda表达式对比.在本文,将进行 Hussachai Puripunpinyo Java 和 Scala 对比三部曲的第二部分,主要 ...

  4. code forces Jeff and Periods

    /* * c.cpp * * Created on: 2013-10-7 * Author: wangzhu */ #include<cstdio> #include<iostrea ...

  5. easyui源码翻译1.32--LinkButton(按钮)

    前言 使用$.fn.linkbutton.defaults重写默认值对象.下载该插件翻译源码 按钮组件使用超链接按钮创建.它使用一个普通的<a>标签进行展示.它可以同时显示一个图标和文本, ...

  6. [codility]tape_equilibrium

    http://codility.com/demo/take-sample-test/tapeequilibrium 简单题.记录到i为止的sum就可以了.O(n). // you can also u ...

  7. Java从入门到精通(一)

    Java编程可以分为三个方向 ① Java se (j2se) 桌面开发 ② Java ee (j2ee) WEB开发 ③ Java me (j2me) 手机开发 java se 是基础中的基础 Ja ...

  8. Wzplayer C++ 版本,WzplayerPro

    WzplayerPro 是Wzplayer的C++版本,新版本支持插件解码器加载等等功能,以上是预览界面. 将会与Wzplayer一样,支持更多的平台,而且WzPlayer在初始化方面将会更快. 联系 ...

  9. NOI2014 随机数生成器

    随机数生成器 [问题描述] 小H最近在研究随机算法.随机算法往往需要通过调用随机数生成函数(例如Pascal中的random和C/C++中的rand)来获得随机性.事实上,随机数生成函数也并不是真正的 ...

  10. 巧架个人BT服务器

    BT的流行比之当年的江湖,传奇等的流行有过之而无不及.现在我们常说的话题是:“今天你BT了吗?”哇K!兄弟们你们怎么吐了?!假如你还不知道BT是什么,那似乎证明你已经到了归隐Internet的时候了, ...