<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    午夜拍鍵驚奇
    子夜 編程 代碼與我同在
    posts - 48,comments - 118,trackbacks - 79

     

      1package com.incors.plaf.alloy;
      2
      3import java.io.*;
      4import java.util.GregorianCalendar;
      5import java.util.zip.CRC32;
      6import java.util.*;
      7
      8public class ch{
      9  public ch(){
     10  }

     11
     12  private static void a(){
     13    if(a)
     14      return;
     15    bi.a("alloy.licenseCode",cr()); // feed serial automatically
     16    String s=bi.a("alloy.licenseCode");
     17    if(s == null)
     18      try{
     19        InputStream inputstream=(com.incors.plaf.alloy.ch.class).getClassLoader().
     20                                getResourceAsStream("alloylnf.lic");
     21        if(inputstream != null){
     22          InputStreamReader inputstreamreader=new InputStreamReader(inputstream,
     23                                              "ISO-8859-1");
     24          BufferedReader bufferedreader=new BufferedReader(inputstreamreader);
     25          s=bufferedreader.readLine();
     26          System.out.println(s);
     27          bi.a("alloy.licenseCode",s);
     28          bufferedreader.close();
     29          inputstream.close();
     30        }

     31      }

     32      catch(Exception exception){}
     33    if(s != null){
     34      int l=s.indexOf('#');
     35      int i1=s.indexOf('#',l + 1);
     36      int j1=s.indexOf('#',i1 + 1);
     37      f=s.substring(0,l);
     38      if(f.length() > 1)
     39        j=a(f);
     40      e=s.substring(l + 1,i1);
     41      d=s.substring(0,i1);
     42      g=Long.parseLong(s.substring(i1 + 1,j1),36);
     43      h=Long.parseLong(s.substring(j1 + 1),36);
     44      b();
     45    }

     46    a=true;
     47  }

     48
     49  private static void b(){
     50    i.update((h % 127L + d).getBytes());
     51    if(i.getValue() != g){
     52      b=false;
     53      return;
     54    }

     55    if(j != null && (new GregorianCalendar()).after(j))// 試用號過期
     56      b=false;
     57      return;
     58    }

     59    b=true;
     60    if(j != null && (new GregorianCalendar()).after(new GregorianCalendar(2003,7,12)))// 如果使用期大于1年
     61      GregorianCalendar gregoriancalendar=new GregorianCalendar();
     62      gregoriancalendar.add(1,1);
     63      if(j.after(gregoriancalendar)){
     64        c=false;
     65        return;
     66      }

     67    }

     68    c=true;
     69  }

     70
     71  private static GregorianCalendar a(String s){
     72    int l=Integer.parseInt(s.substring(0,4));
     73    int i1=Integer.parseInt(s.substring(5,7));
     74    int j1=Integer.parseInt(s.substring(8,10));
     75    return new GregorianCalendar(l,i1 - 1,j1 + 1);
     76  }

     77
     78  public static boolean c(){
     79    if(!a)
     80      a();
     81    return bi.a("alloy.licenseCode"!= null;
     82  }

     83
     84  public static boolean d(){
     85    if(!a)
     86      a();
     87    return b;
     88  }

     89
     90  public static boolean e(){
     91    if(!a)
     92      a();
     93    return c;
     94  }

     95
     96  private static boolean a=false;
     97  private static boolean b=false;
     98  private static boolean c=false;
     99  private static String d;
    100  public static String e;
    101  public static String f;
    102  public static long g=0L;
    103  public static long h=0L;
    104  private static CRC32 i=new CRC32();
    105  public static GregorianCalendar j;
    106
    107  private static String cr()// 自動(dòng)生成序列號,比當(dāng)前時(shí)間晚一個(gè)月
    108    Calendar cal=new GregorianCalendar();
    109    cal.add(cal.MONTH,1);
    110
    111    String s="";
    112    int year=cal.get(cal.YEAR);
    113    int month=cal.get(cal.MONTH);
    114    int day=cal.get(cal.DAY_OF_MONTH);
    115
    116    s+=year + "/" + (month < 10 ? "0" + month : month) + "/" + (day < 10 ? "0" + day
    117        : day);
    118    s+="#oop@vip.163.com#128cw93#1a193l";
    119
    120    int l=s.indexOf('#');
    121    int i1=s.indexOf('#',l + 1);
    122    int j1=s.indexOf('#',i1 + 1);
    123
    124    String e=s.substring(l + 1,i1);
    125    String d=s.substring(0,i1);
    126    String sg=s.substring(i1 + 1,j1);
    127    Long g=Long.parseLong(sg,36);
    128    Long h=Long.parseLong(s.substring(j1 + 1),36);
    129
    130    CRC32 crc=new CRC32();
    131    crc.update((h % 127L + d).getBytes());
    132    Long ii=crc.getValue();
    133    StringBuffer sn=new StringBuffer(s).replace(i1 + 1,j1,Long.toString(ii,36));
    134    return sn.toString();
    135  }

    136}

    137

    關(guān)鍵代碼處有注釋,我就詳細(xì)講一下cr()。
    由于Alloy的序列號的時(shí)間比當(dāng)前時(shí)間晚一年以上也視作invalid,因此我在cr()中動(dòng)態(tài)生成一個(gè)序列號,該序列號比當(dāng)前時(shí)間晚一個(gè)月,使用bi.a()注入程序中(15行)。
    111行到133行是具體的算號過程,可見“128cw93”和“1a1931”其實(shí)是兩個(gè)36進(jìn)制的數(shù)。
    第133行把算得的校驗(yàn)值替換118行生成的字符串中的相應(yīng)位置上的字符串,生成新的序列號。
    posted on 2005-08-09 15:42 ^ Mustang ^ 閱讀(1312) 評論(2)  編輯  收藏 所屬分類: 破解

    FeedBack:
    # re: Alloy破解過程
    2005-08-10 17:07 | fastpace
    這樣破解好像不完全,看看這張圖:
    http://blog.csdn.net/images/blog_csdn_net/fastpace/140339/r_alloy00-11.gif
    后面的滾動(dòng)條顏色丟失(安上面破解過的)  回復(fù)  更多評論
      
    # re: Alloy破解過程
    2005-08-10 19:57 | ^ Mustang ^
    的確有這個(gè)問題,但現(xiàn)在還沒找到原因:)  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。

    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品无码永久在线观看你懂的| 久久精品视频免费| 亚洲aⅴ天堂av天堂无码麻豆 | 可以免费看黄视频的网站| 亚洲A∨无码一区二区三区| 夜夜春亚洲嫩草影院| 中文字幕久精品免费视频| 亚洲成a人片在线观看中文动漫| 77777亚洲午夜久久多人| 久久精品国产亚洲AV无码偷窥| 亚洲精品韩国美女在线| 亚洲精品无码高潮喷水A片软| 边摸边吃奶边做爽免费视频网站| 中国黄色免费网站| 18国产精品白浆在线观看免费| 国产精品深夜福利免费观看| 亚洲精品成人网站在线观看| 亚洲国产成人资源在线软件 | 亚洲欧美第一成人网站7777| 一区二区在线免费视频| 91成人在线免费观看| 国产精品免费视频网站| 亚洲成av人在线视| 亚洲人av高清无码| 成人爽a毛片免费| 特级做A爰片毛片免费69| 精品国产日韩亚洲一区| 亚洲人成黄网在线观看| 又长又大又粗又硬3p免费视频| 久久精品无码专区免费东京热 | 18禁网站免费无遮挡无码中文| 免费人成在线观看网站品爱网日本 | 看全色黄大色大片免费久久| 亚洲精品高清国产一线久久| 一本色道久久88—综合亚洲精品| 亚洲精品视频免费| 亚洲精品动漫免费二区| 亚洲国产精品无码一线岛国| 亚洲精品无码久久久久牙蜜区| 成全视频在线观看免费| 国产成人免费手机在线观看视频|