吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4459|回复: 8
收起左侧

[Java 转载] IntelliJ IDEA 13.x Keygen

  [复制链接]
zoakerc 发表于 2014-10-28 18:42
本帖最后由 zoakerc 于 2014-10-28 18:46 编辑

IntelliJ IDEA 13.x 注册机算法源码,仅用于学习和交流,有能力请支持正版。

keygen.png

[Java] 纯文本查看 复制代码
import java.math.BigInteger;
import java.util.Date;
import java.util.Random;
import java.util.zip.CRC32;
 
public class Keygen
{
  /**
  * @param s
  * @param i
  * @param bytes
  * @return
  */
  public static short getCRC(String s, int i, byte bytes[])
  {
      CRC32 crc32 = new CRC32();
      if (s != null)
      {
          for (int j = 0; j < s.length(); j++)
          {
              char c = s.charAt(j);
              crc32.update(c);
          }
      }
      crc32.update(i);
      crc32.update(i >> 8);
      crc32.update(i >> 16);
      crc32.update(i >> 24);
      for (int k = 0; k < bytes.length - 2; k++)
      {
          byte byte0 = bytes[k];
          crc32.update(byte0);
      }
      return (short) (int) crc32.getValue();
  }
 
  /**
  * @param biginteger
  * @return String
  */
  public static String encodeGroups(BigInteger biginteger)
  {
      BigInteger beginner1 = BigInteger.valueOf(0x39aa400L);
      StringBuilder sb = new StringBuilder();
      for (int i = 0; biginteger.compareTo(BigInteger.ZERO) != 0; i++)
      {
          int j = biginteger.mod(beginner1).intValue();
          String s1 = encodeGroup(j);
          if (i > 0)
          {
              sb.append("-");
          }
          sb.append(s1);
          biginteger = biginteger.divide(beginner1);
      }
      return sb.toString();
  }
 
  /**
  * @param i
  * @return
  */
  public static String encodeGroup(int i)
  {
      StringBuilder sb = new StringBuilder();
      for (int j = 0; j < 5; j++)
      {
          int k = i % 36;
          char c;
          if (k < 10)
          {
              c = (char) (48 + k);
          }
          else
          {
              c = (char) ((65 + k) - 10);
          }
          sb.append(c);
          i /= 36;
      }
      return sb.toString();
  }
 
  /**
  * @param name
  * @param days
  * @param id
  * @param prtype
  * @return
  */
  public static String MakeKey(String name, int days, int id)
  {
      id %= 100000;
      byte bkey[] = new byte[12];
      bkey[0] = (byte) 1; // Product type: IntelliJ IDEA is 1
      bkey[1] = 13; // version
      Date d = new Date();
      long ld = (d.getTime() >> 16);
      bkey[2] = (byte) (ld & 255);
      bkey[3] = (byte) ((ld >> 8) & 255);
      bkey[4] = (byte) ((ld >> 16) & 255);
      bkey[5] = (byte) ((ld >> 24) & 255);
      days &= 0xffff;
      bkey[6] = (byte) (days & 255);
      bkey[7] = (byte) ((days >> 8) & 255);
      bkey[8] = 105;
      bkey[9] = -59;
      bkey[10] = 0;
      bkey[11] = 0;
      int w = getCRC(name, id % 100000, bkey);
      bkey[10] = (byte) (w & 255);
      bkey[11] = (byte) ((w >> 8) & 255);
      BigInteger pow = new BigInteger("89126272330128007543578052027888001981", 10);
      BigInteger mod = new BigInteger("86f71688cdd2612ca117d1f54bdae029", 16);
      BigInteger k0 = new BigInteger(bkey);
      BigInteger k1 = k0.modPow(pow, mod);
      String s0 = Integer.toString(id);
      String sz = "0";
      while (s0.length() != 5)
      {
          s0 = sz.concat(s0);
      }
      s0 = s0.concat("-");
      String s1 = encodeGroups(k1);
      s0 = s0.concat(s1);
      return s0;
  }
 
  public static void main(String[] args)
  {
      String name = "keygen";
      Random r = new Random();
      System.out.println("name = " + name);
      System.out.println("serial = " + MakeKey(name, 0, r.nextInt(100000)));
  }
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hchack 发表于 2014-10-28 19:49
算法都给出来了,谢谢,学习了
zhmyi000 发表于 2014-10-28 19:53
头像被屏蔽
yyz219 发表于 2014-10-28 20:36
manbajie 发表于 2014-10-28 20:53
楼主强悍  学习中
kingfs 发表于 2014-10-28 20:56
太给力了,学习了,真牛啊!!
781536564 发表于 2014-10-28 21:06
这有点深,兄弟有简单点的吗
 楼主| zoakerc 发表于 2014-10-29 09:53
本帖最后由 zoakerc 于 2014-10-29 09:58 编辑
zhmyi000 发表于 2014-10-28 19:53
哪里有IntelliJ有教程?表示不太会用

  可以去看看这个,我的百度云分享
  
  http://pan.baidu.com/s/1o6zB7gI


jiaxcheng 发表于 2014-10-30 18:16
不错的java集成IDE开发工具,正好需要,感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 13:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表