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 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(1, 3);
cal.add(6, -1);
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(0, 1)).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 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, "20");
System.out.println("Serial:" + res);
reader.readLine();
} catch (IOException ex) {
}
}
}
分享到:
相关推荐
MyEclipseGen myeclipsegen = new MyEclipseGen(); String res = myeclipsegen.getSerial(userId, "20"); System.out.println("Ser"); } catch (IOException e) { e.printStackTrace(); } } ``` - **功能**:...
MyEclipseGen myeclipsegen = new MyEclipseGen(); String res = myeclipsegen.getSerial(userId, "20"); System.out.println(res); } ``` - **读取输入**:通过控制台读取用户输入的用户名。 - **实例化**:...
在提供的代码片段中,可以看到一个名为`MyEclipseGen`的Java类,该类包含了用于生成注册码的逻辑。下面将对其中的关键部分进行详细分析: ##### 类定义与方法实现 - **类定义**:`MyEclipseGen`类包含了一系列用于...
MyEclipseGen myeclipsegen = new MyEclipseGen(); String res = myeclipsegen.getSerial(userId, "20"); System.out.println("Serial Number: " + res); } catch(Exception e) { System.out.println("Error: ...
代码中定义了一个名为`MyEclipseGen`的类,该类包含了多个方法,如`getSerial`、`decode`和`change`等。这些方法用于生成注册码。 #### 1.2 字符串操作 - **字符串拼接**:代码中使用了`StringBuilder`类来进行字符...
- 创建 `MyEclipseGen` 类并定义主方法 `main`。 - 在主方法中提示用户输入注册名,并读取用户输入。 2. **生成激活码**: - 实例化 `MyEclipseGen` 对象。 - 调用 `getSerial` 方法,传入用户输入的注册名与...
在所提供的部分代码中,我们看到一个名为`MyEclipseGen`的类,该类包含了用于生成MyEclipse注册码的方法。下面将逐一分析这些方法及其背后的逻辑: #### 1. `getSerial` 方法 该方法接收两个参数:`userId` 和 `...
2. 运行注册机:双击"MyEclipseGen.exe",在弹出的界面中输入MyEclipse的相关信息,包括产品名称、版本号等。 3. 生成激活码:根据提示,输入MyEclipse的机器码(可在MyEclipse中找到),点击“Generate”按钮生成...
##### 3.1 类定义:`MyEclipseGen` 这是一个名为 `MyEclipseGen` 的类,该类的主要功能是根据用户的输入生成 MyEclipse 的注册码。 ##### 3.2 方法:`getSerial` 这个方法接收两个参数: - `userId`:用户ID。 -...
在`MyEclipseGen`类中还包含了一个私有静态常量`LL`,其中包含了法律声明信息,明确指出反编译或未经授权的分发行为违反了许可协议以及1998年的《数字千年版权法》(DMCA)。这表明了软件作者对于版权保护的重视程度...
- `MyEclipseGen`类定义:这是一个简单的Java类,包含三个方法和一个私有静态成员变量`LL`。 - `LL`成员变量:这个字符串包含了一段版权声明,指出逆向编译该软件是违反协议和法律的行为,并提到了相应的处罚措施。...
运行 `MyEclipseGen` 类中的主方法(需自行添加),并在控制台中输入用户 ID 和许可证编号,即可生成序列号。 ##### 4. 完成激活 最后,打开 MyEclipse 并在激活界面输入用户 ID 和生成的序列号即可完成激活。 ##...
主函数部分展示了如何使用`MyEclipseGen`类。程序启动后会提示用户输入注册名称,然后调用`getSerial`方法生成序列号并在控制台输出。 ### 法律风险警示 需要注意的是,附件中的版权警告信息明确指出,解编译受...
MyEclipseGen gen = new MyEclipseGen(); String serial = gen.getSerial(name, "123"); // 假设licenseNum为"123" System.out.println("Generated Serial: " + serial); } ``` ### 四、注册码生成器工作原理 1...
- **构造函数:** 提供了一个无参构造函数 `public MyEclipseGen() { super(); }`。 - **基本数据类型:** 使用了 `int`、`char` 和 `byte` 等基本数据类型。 - **字符串操作:** 应用了 `StringBuilder`、`String` ...
整个代码示例是一个名为`MyEclipseGen`的Java类,包含了主方法`main`和其他几个辅助方法。主方法中调用了`getSerial`方法来生成注册码,而`getSerial`方法内部又调用了`decode`和`change`方法进行必要的计算和处理。...
- **类定义**:`public class MyEclipseGen{...}` 定义了一个名为`MyEclipseGen`的公共类。 - **方法声明**: - `public String getSerial(String userId,String licenseNum){...}`:这是一个公共方法,返回类型为`...
public class MyEclipseGen { // ... } ``` 定义了一个名为 `MyEclipseGen` 的公共类,该类包含了用于生成注册码的主要方法。 #### 3.3 getSerial 方法 ```java public String getSerial(String userId, String ...
在上述内容中,提到了一个名为`MyEclipseGen`的类,这个类的目的是生成符合MyEclipse 7.0注册要求的序列号。这个类包含两个主要方法:`getSerial`和`decode`,以及一个辅助方法`change`。 1. `getSerial`方法接收两...
其中,“MyEclipseGen”类包含了几个关键的方法,如`getSerial`、`decode`和`change`,这些方法共同作用于生成注册码的过程。具体来说: 1. `getSerial`方法接收用户ID和许可证号作为参数,通过一系列计算,包括...