myeclipse注册算法(5.0.1,6.0.1)

myeclipse的注册码算法,根据自定义的用户名算出注册码 ,运行后就可以破解

 

public   class  Reg  {
 
private static final String L = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.";
 
public static void main(String[] args) {
  
// 注册用户名
  String userId = "johnson_hong";
  
// 其中491(4.9.1)/400(4.0)/401(4.1)/501(5.1.0),()内为版本号,
  
// 9912310代表注册码过期时间2099/12/31
  
// MyEclipse4.1 GA
  
// String need = userId.substring(0, 1) + "YE3MP-401-00-9912310";
  
// MyEclipse4.0.0 GA
  
// String need = userId.substring(0,1) + "YE3MP-400-01-9912310";
  
// MyEclipse4.9.1
  
// String need = userId.substring(0,1) + "YE3MP-491-01-9912310";
  
// MyEclipse5.1.0 GA
  
// String need = userId.substring(0,1) + "YE3MP-510-00-9912310";
  
// MyEclipse5.1.1 GA 现在的版本
  String need = userId.substring(0,1+ "YE3MP-510-00-9912310";
  
  String dx 
= need + L + userId;
  
int suf = decode(dx);
  
// System.out.println("SUF:"+suf);
  String code = need + suf;
  System.out.println(change(code));
 }

 
static int decode(String s) {
  
int i = 0;
  
char ac[] = s.toCharArray();
  
int j = 0;
  
for (int k = ac.length; j < k; j++{
   i 
= 31 * i + ac[j];
  }

  
return Math.abs(i);
 }

 
static String change(String s) {
  
byte abyte0[] = s.getBytes();
  
char ac[] = new char[s.length()];
  
int i = 0;
  
for (int k = abyte0.length; i < k; i++{
   
int j = abyte0[i];
   
if (j >= 48 && j <= 57)
    j 
= ((j - 48+ 5% 10 + 48;
   
else if (j >= 65 && j <= 90)
    j 
= ((j - 65+ 13% 26 + 65;
   
else if (j >= 97 && j <= 122)
    j 
= ((j - 97+ 13% 26 + 97;
   ac[i] 
= (char) j;
  }

  
return String.valueOf(ac);
 }

}

 

接着来一个myeclipse6.0.1GA的算法

 

import  java.io. * ;

public   class  Reg {
    
private static final String LL = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.";
    
public String getSerial(String userId, String licenseNum) {
        java.util.Calendar cal 
= java.util.Calendar.getInstance();
        cal.add(
13);
        java.text.NumberFormat nf 
= new java.text.DecimalFormat("000");
        licenseNum 
= nf.format(Integer.valueOf(licenseNum));
        String verTime 
= new StringBuilder("-").append(new java.text.
                SimpleDateFormat(
"yyMMdd").format(cal.getTime())).append("0").
                         toString();
        String type 
= "YE3MP-";
        String need 
= new StringBuilder(userId.substring(01)).append(type).
                      append(
"300").append(licenseNum).append(verTime).toString();
        String dx 
= new StringBuilder(need).append(LL).append(userId).toString();
        
int suf = this.decode(dx);
        String code 
= new StringBuilder(need).append(String.valueOf(suf)).
                      toString();
        
return this.change(code);
    }


    
private int decode(String s) {
        
int i;
        
char[] ac;
        
int j;
        
int k;
        i 
= 0;
        ac 
= s.toCharArray();
        j 
= 0;
        k 
= ac.length;
        
while (j < k) {
            i 
= (31 * i) + ac[j];
            j
++;
        }

        
return Math.abs(i);
    }


    
private String change(String s) {
        
byte[] abyte0;
        
char[] ac;
        
int i;
        
int k;
        
int j;
        abyte0 
= s.getBytes();
        ac 
= new char[s.length()];
        i 
= 0;
        k 
= abyte0.length;
        
while (i < k) {
            j 
= abyte0[i];
            
if ((j >= 48&& (j <= 57)) {
                j 
= (((j - 48+ 5% 10+ 48;
            }
 else if ((j >= 65&& (j <= 90)) {
                j 
= (((j - 65+ 13% 26+ 65;
            }
 else if ((j >= 97&& (j <= 122)) {
                j 
= (((j - 97+ 13% 26+ 97;
            }

            ac[i] 
= (char) j;
            i
++;
        }

        
return String.valueOf(ac);
    }


    
public Reg() {
        
super();
    }


    
public static void main(String[] args) {
        
try {
            System.out.println(
"please input register name:");
            BufferedReader reader 
= new BufferedReader(new InputStreamReader(
                    System.in));
            String userId 
= null;
            userId 
= reader.readLine();
            Reg Reg 
= new Reg();
            String res 
= Reg.getSerial(userId, "20");
            System.out.println(
"Serial:" + res);
            reader.readLine();
        }
 catch (IOException ex) {
        }

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值