最新公司换了新项目,项目比较大,每次更改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 下载破解包, 里面是直接打包好的补丁。
以上修改只用于学习研究之用,请不要用于任何商业用途,任何由此产生的法律纠纷,均与本人无关,本人概不负责。
转自:http://blog.csdn.net/joinandjoin/article/details/9052785
相关推荐
JIRA6.0.1的破解方法。 注:总结的前人的破解方法,并且补充了其中比较模糊的步骤。
jira6 破解+汉化+安装手册. 用于项目管理。
Jira6.0.2破解安装文件+教程+汉化包 解压后,里面有详细资料,感谢以前提供帮助的好人心
适用于jira4.4 jira_crack.zip(JIRA4破解补丁) 使用说明:http://blog.csdn.net/ctbinzi/archive/2010/11/06/5991892.aspx
Jira 6.X破解license 格式(包括Jira,敏捷,插件license)
"jira.zip_jira"这个压缩包文件显然是与Jira相关的,其中包含了"jira说明文档_试用版.doc",这很可能是Jira的安装指南或使用手册,用于帮助用户理解和操作Jira系统。 首先,让我们深入了解一下Jira的核心功能。Jira...
JIRA破解补丁 适用于JIRA4.*等版本 请支持正版!!! 使用说明:http://blog.csdn.net/ctbinzi/archive/2010/11/06/5991892.aspx
jira 5 版本的破解方法和代码 详见 Readme.txt
破解jira4.4最关键的步骤 运行jira_keygen.jar 1、破解之前先关掉jira 2、输入 Name 和 Server ID ,再patch,显示patch success,再genkey,然后启动tomcat,通过web登陆jira输入key,即可 破解 GreenHopper 5.7...
在压缩包"jira安装包.zip"中,包含了Jira的安装文件。安装Jira通常涉及下载安装程序,运行安装向导,配置服务器环境(如Java运行环境),设定数据库连接,以及根据组织需求进行基本的系统设置。安装完成后,用户可以...
在本项目中,“Laravel开发-laravel-jira .zip.zip”是一个包含与Laravel框架集成JIRA服务相关的资源和代码的压缩文件。Laravel是一款流行的、开源的PHP框架,用于构建优雅的Web应用程序,而JIRA是Atlassian公司的一...
亲自测试可用,替换后在授权页面输入如下授权码,注意有两个地方需要替换 Description=JIRA: Commercial, CreationDate=2015-01-30, jira.LicenseEdition=ENTERPRISE, Evaluation=false, jira.LicenseTypeName=...
jira插件 jira-greenhopper-plugin-6.0.1
开源项目-Netflix-Skunkworks-go-jira.zip,GitHub - Netflix-Skunkworks/go-jira: simple jira command line client in Go
JIRA4.1/4.0安装破解 1.首先去下载JIRA 2.创建数据 3.设置环境变量和修改配置文件 4.启动Tomcat安装JIRA 5.破解JIRA
将atlassian-extras-2.2.2.jar 覆盖至%JIRA_HOME%/atlassian-jira/WEB-INF/lib/atlassian-extras-2.2.2.jar 2.将atlassian-extras-2.2.2.crack 覆盖至先将这个文件复制到%JIRA_HOME%/atlassian-jira/WEB-INF/...
1. **下载JIRA**: 从Atlassian官方网站获取最新版本的JIRA Software安装包,将其保存到服务器的合适位置。 2. **解压安装包**: 使用`unzip`命令解压缩下载的`.zip`文件。 ```bash unzip CentOS_JIRA_安装手册之...
本教程将深入探讨Jira的核心功能和使用方法,帮助用户从初学者到精通者逐步掌握这个强大的工具。 **1. JIRA入门教程** 在开始Jira之旅之前,首先需要理解其基本概念。Jira的核心是工作项(Issue),它可以是缺陷、...
jira-agent.zip
Linux下安装JIRA6.3.6的破解包和汉化包