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年都可以 。
          主站蜘蛛池模板: 永丰县| 德兴市| 大庆市| 肥乡县| 东丰县| 涿州市| 秦皇岛市| 萝北县| 永胜县| 抚顺县| 德格县| 克拉玛依市| 台湾省| 绥宁县| 长顺县| 关岭| 涟水县| 涿州市| 和顺县| 博白县| 嘉义市| 都兰县| 辽宁省| 偃师市| 盐津县| 修水县| 奉新县| 昔阳县| 宁明县| 荣成市| 交口县| 渭南市| 东兰县| 宜丰县| 乌兰县| 平湖市| 德钦县| 新河县| 卫辉市| 大新县| 隆子县|