【zt】Myeclipse 破解程序

Posted on 2006-11-16 10:25 caid'weblog 阅读(295) 评论(0)  编辑  收藏 所属分类: JAVA
public class Main {
        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) {
                //"next_dream"为用户名。
                String userId = "next_dream";
                //MyEclipse4.1 GA 其中491(4.9.1)/400(4.0)/401(4.1)为版本号,9912310代表注册码过期时间2099/12/31
                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";
                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);
        }
}

posts - 5, comments - 4, trackbacks - 0, articles - 3

Copyright © caid'weblog