pub

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            1 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

          我的評論

          以數據庫為中心的程序這種問題會很多
          說明你們的程序不夠OO,太多信賴于數據庫 比如自增字段。
          re: 破解JIRA3.3 pub 2007-03-16 17:07  
          這些證實都不是有效的破解 ,在3.7版本上都不可用 , JIRA 的 Licenes 部分都沒經過混淆 ,所以很容易就反編譯了 , 破解更容易 , 可以換掉它驗證License的 DSA 公鑰文件 , 然后用自己的私鑰文件產生一個License 文件,這是最麻煩的
          最簡單的方式是 修改 com.atlassian.license.decoder.LicenseDecoder 文件內容如下

          package com.atlassian.license.decoder;

          import com.atlassian.core.util.StringUtils;
          import com.atlassian.license.*;
          import java.io.InputStream;
          import java.security.*;
          import java.security.spec.X509EncodedKeySpec;
          import java.util.Date;
          import java.util.StringTokenizer;
          import org.apache.log4j.Category;

          public class LicenseDecoder
          {
          private static License license ;
          public LicenseDecoder()
          {
          }

          public static License getLicense(LicensePair pair, String applicationName)
          {
          license = new DefaultLicense(new Date("2032/03/15"),new Date("2099/12/31"),"publish" ,new DefaultLicenseType(267, "JIRA Enterprise: Commercial Server", false, false), 100000,"") ;
          return license ;
          }

          public static boolean isValid(LicensePair pair, String applicationName)
          {
          return getLicense(pair, applicationName) != null;
          }

          private static PublicKey getPublicKey(String applicationName)
          throws LicenseException
          {
          return null ;
          }

          private static License loadLicense(LicensePair pair, PublicKey publicKey, String applicationName)
          {

          return getLicense(null , null);
          }

          private static String getLicenseIdFromLicenseString(String originalLicenseString)
          {
          if(originalLicenseString != null && originalLicenseString.length() > 70)
          return StringUtils.replaceAll(StringUtils.replaceAll(StringUtils.replaceAll(originalLicenseString, "\n", ""), "\r", ""), "\t", "").substring(59, 69).toUpperCase();
          else
          return "";
          }

          private static String getDecodedMessage(byte message[])
          {
          return new String(message);
          }

          public static boolean isValid(LicensePair pair, PublicKey publicKey, String applicationName)
          {
          return loadLicense(pair, publicKey, applicationName) != null;
          }

          public static String getPublicKeyFilename(String applicationName)
          {
          return LicenseManager.getInstance().getLicenseTypeStore(applicationName).getPublicKeyFileName();
          }


          }

          這樣就可以用到 2099年了 , 如果你愿意 ,用到 9999年都可以 。
          主站蜘蛛池模板: 玛多县| 乡城县| 上虞市| 平度市| 桃江县| 从化市| 黔江区| 罗平县| 上饶县| 高清| 滕州市| 兴化市| 婺源县| 寻甸| 新龙县| 永康市| 庄浪县| 元江| 高安市| 阿克苏市| 府谷县| 宁化县| 阿图什市| 玛曲县| 彝良县| 卓资县| 白沙| 许昌县| 元阳县| 海原县| 南江县| 类乌齐县| 遂昌县| 沭阳县| 沈阳市| 嘉荫县| 南乐县| 西乌珠穆沁旗| 阿克陶县| 嘉峪关市| 彭山县|