今天在网上查资料的时候无意中发现使用java类破解MyEclipse的注册码问题。跟大家分享一下
1、建立JAVA Project,随便命名,只要符合规则就行
2、在刚刚建好的Project右击src,新建一个类,命名为MyEclipseGen,把.java里本来有的代码全部删掉,再把下面的代码复制到文件中。
import java.io.*; public class MyEclipseGen {
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 im*ment 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(, );
cal.add(, -);
java.text.NumberFormat nf = new java.text.DecimalFormat("");
licenseNum = nf.format(Integer.valueOf(licenseNum));
String verTime = new StringBuilder("-")
.append(new java.text.SimpleDateFormat("yyMMdd").format(cal
.getTime())).append("").toString();
String type = "YE3MP-";
String need = new StringBuilder(userId.substring(, )).append(type)
.append("").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 = ;
ac = s.toCharArray();
j = ;
k = ac.length;
while (j < k) {
i = ( * 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 = ;
k = abyte0.length;
while (i < k) {
j = abyte0[i];
if ((j >= ) && (j <= )) {
j = (((j - ) + ) % ) + ;
} else if ((j >= ) && (j <= )) {
j = (((j - ) + ) % ) + ;
} else if ((j >= ) && (j <= )) {
j = (((j - ) + ) % ) + ;
}
ac[i] = (char) j;
i++;
}
return String.valueOf(ac);
} public MyEclipseGen() {
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();
MyEclipseGen myeclipsegen = new MyEclipseGen();
String res = myeclipsegen.getSerial(userId, "");
System.out.println("Serial:" + res);
reader.readLine();
} catch (IOException ex) {
}
}
}
3、运行,按照提示输入一串字符,建议取名字的首字母,然后回车,会出现一串注册码,然后复制注册码。
如图
3-1:代表注册码的Subscriber
3-2:是你的Code
4、然后MyEclipse --> Subscription Information,按提示第一行输入你刚刚输入的字符串,第二行粘贴注册码即可。
如果成功的话应该会发现如下提示,点击finish结束,恭喜你成功啦!!
我试过了,可以用的!