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年都可以 。
          主站蜘蛛池模板: 泽普县| 和顺县| 黄浦区| 瑞丽市| 双牌县| 长阳| 容城县| 湖口县| 潍坊市| 进贤县| 鹰潭市| 长丰县| 泌阳县| 武义县| 阿尔山市| 宿迁市| 澜沧| 贺兰县| 株洲县| 肇源县| 绥德县| 将乐县| 金湖县| 铜川市| 英山县| 乐东| 成武县| 萨迦县| 江都市| 新野县| 皮山县| 卓资县| 合山市| 武功县| 甘德县| 额尔古纳市| 怀仁县| 屯留县| 游戏| 天镇县| 阿图什市|