Import java. Io .*;
Import java. Text .*;
Import java. util. calendar;
Import java. AWT. datatransfer .*;
Public class xxxclipsecracker {
Private void go () throws exception {
Bufferedreader BR = new bufferedreader (New inputstreamreader (system. In ));
System. Out. println ("xxxclipse Cracker ");
System. Out. Print ("Please input user ID :");
String userid = Br. Readline ();
If (userid. Length () = 0) return;
String serialstring = getserial (userid, "200 ");
System. Out. println ("serial code:" + serialstring );
Java. AWT. toolkit. getdefatooltoolkit (). getsystemclipboard (). setcontents (New stringselection (serialstring), null );
System. Out. println ("NOTE: The serial code has succefully copied into clipboard! /Npress 'enter' to exit ...");
BR. Readline ();
}
Public static void main (string ARGs []) throws exception {
New xxxclipsecracker (). Go ();
}
Public String getserial (string userid, string licensenum)
{
Calendar Cal = calendar. getinstance ();
Cal. Add (1, 3 );
Cal. Add (6,-1 );
Numberformat NF = new decimalformat ("000 ");
Licensenum = NF. Format (integer. valueof (licensenum ));
String vertime = (New stringbuilder ("-")). append (New 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 ("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. "). append (userid ). tostring ();
Int SUF = decode (dx );
String code = (New stringbuilder (need). append (string. valueof (SUF). tostring ();
Return change (CODE );
}
Private 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 );
}
Private 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 );
}
}