jira插件破解

发布时间 2023-09-25 16:03:21作者: panlifeng

1. 我们使用jd-jui.exe工具进行反编译,单独提取Version2LicenseDecoder.class文件的source后,需要进行再次编译替换jar包中的原class文件才可以正常破解。

2. 反编译后的java文件中有依赖其他jar文件,其中只有2个,一个是自身的atlassian-universal-plugin-manager-plugin-2.22.x.jar   另外一个是 Base64依赖Apache的commons-codec-1.x.jar,这2个文件都从jira/confulence本身自带的atlassian-bundled-plugins和lib文件夹提取即可。

3. 新建Java工程,名称无所谓,按照修改的Version2LicenseDecoder.java 文件包路径新建包:com.atlassian.extras.decoder.v2,最后把java文件放入此包下。然后把这个java工程添加2个jar依赖即可。此时即可成功编译修改后的Version2LicenseDecoder.java。然后找到工程对应文件下下,有bin文件夹,里面就有编译好的class文件。替换atlassian-universal-plugin-manager-plugin-2.22.x.jar原class即可完成破解。

----------------需要修改的文件及内容-------------------

由于此Version2LicenseDecoder文件static块中带有pubKey,所以不知道是否合适你们。文件版本文atlassian-universal-plugin-manager-plugin-2.22.9.jar,提取自Jira 7.9.2版本中。

Version2LicenseDecoder.java 修改的内容网上有些是错的,Properties无法存入boolean型,所以应该是String,以下是修正后的全部内容。

private Properties loadLicenseConfiguration(Reader text)
  {
    Properties props = new Properties();
    try {
        (new DefaultPropertiesPersister()).load(props, text);
        if (props.containsKey("Description")) {
            String desc = props.getProperty("Description");
            props.put("Description",
                    desc.replace("Evaluation", "Commercial"));
 
            if (desc.contains("Confluence")) {
                props.put("conf.LicenseTypeName", "COMMERCIAL");
            } else if (desc.contains("JIRA")) {
                props.put("jira.LicenseTypeName", "COMMERCIAL");
            } else if (desc.contains("FishEye")) {
                props.put("fisheye.LicenseTypeName", "COMMERCIAL");
            } else if (desc.contains("Bitbucket")) {
                props.put("stash.LicenseTypeName", "COMMERCIAL");
            }
 
            props.put("Evaluation", "false");
            props.put("MaintenanceExpiryDate", "2033-06-06");
            props.put("LicenseExpiryDate", "2033-06-06");
        }
        return props;
    } catch (IOException var3) {
        throw new LicenseException("Could NOT load properties from reader", var3);
    }
  }

LicenseManager.java 文件内容修改为:

public boolean hasValidLicense(String licenseKey)
{
    return true;
}
编译工程文件及依赖截图:

破解好的文件:https://download.csdn.net/download/huangdou0204/10603421  (含JIRA7.x主程序+通用插件2.22.x破解jar)