Aptana page debugging and development tools (built-in cracking methods)

Source: Internet
Author: User
Tags crc32 modulus
1.
Aptana
Is a very powerful, open-source, Ajax development ide that focuses on JavaScript. Its features include:
* Code assist in Javascript, JavaScript, HTML, and CSS.
* Outliner: displays the code structure of JavaScript, HTML, and CSS.
* Supports JavaScript, HTML, and CSS code prompts, including JavaScript custom functions.
* Code syntax error prompt.
* Supports customization and extension of Aptana UI.
* Cross-platform is supported.
* FTP/SFTP supported
* Debug Javascript
* Supports the code assist function of the popular Ajax framework: aflax, dojo, jquery, mochikit, prototype, Rico, script. aculo. Us, Yahoo UI, and ext.
* Adobe AIR and iPhone development tools
Its homepage also provides videos on how to use the development tool.

Find the com. Aptana. Ide. core_1.0.1.004323.jar file.
Compile the following file and replace it with the corresponding file (in the com. Aptana. Ide. Core. Licensing directory)
For details about the location modification, refer to the remarks section below!

Package com. Aptana. Ide. Core. licensing;

Import java. Math. biginteger;
Import java. util. calendar;
Import java. util. timezone;
Import java.util.zip. CRC32;

Public final class clientkey {
Private Static class decrypt {

Private biginteger modulus;
Private biginteger exponent;

Public String decrypt (string encrypted ){
Long crc32value;
Byte bytes [];
CRC32 CRC32;
If (encrypted = NULL ){
Encrypted = "";
} Else {
Encrypted = clientkey. trimencryptedlicense (encrypted );
}
Biginteger big = new biginteger (encrypted );
Biginteger decrypted = big. modpow (exponent, modulus );
Crc32value = (long) decrypted. intvalue () & 0 xffffffffl;
Decrypted = decrypted. shiftright (32 );
Bytes = decrypted. tobytearray ();
CRC32 = new CRC32 ();
Crc32.update (bytes );
If (crc32value = crc32.getvalue ()){
Return new string (bytes );
}
Return NULL;
}

Decrypt (string exponent, string modulus ){
This. modulus = new biginteger (modulus );
This. exponent = new biginteger (exponent );
}
}

Public static final string begin_license_marker = "-- begin-Aptana-license --";
Public static final string end_license_marker = "-- end-Aptana-license --";
Private Static final timezone GMT = timezone. gettimezone ("GMT ");
Private Static final string emails_non_matching = "emails_non_matching ";
Private Static final int pro = 0;
Private Static final int trial = 1;
Private string email;
Private long expiration;
Private int type;

Private clientkey (INT type, string email, long expiration ){
This. type = type;
This. Email = Email;
This. Expiration = expiration;
}

Public static clientkey decrypt (string encrypted, string email ){

String modulus =
"115801190261221214754334668902722425936509505416457970789287297728816388753627896293249501578830570324705253515546383166989625001335561947096747210280001245977114030627247212292377290543869343996595819188362915644707269064020812435233012510929338706599216007185654748959001143012936618501934698642942289379979 ";
String exponent = "65537 ";
If (encrypted! = NULL ){
Encrypted = encrypted. Trim ();
}
Decrypt decrypter = new decrypt (exponent, modulus );
Return decrypt (decrypter, encrypted, email );
}

Private Static clientkey decrypt (decrypt decrypter, string encrypted,
String email ){
String value = decrypter. decrypt (encrypted );
If (value = NULL ){
Return new clientkey (1, null, 0l );
}
String values [] = value. Split (";");
Int type = 1;
String genedemail = NULL;
Long expiration = 0l;
If (values. Length = 3 ){
If ("p". Equals (Values [0]. tolowercase ())){
Type = 0;
}
Genedemail = values [1];
If (genedemail! = NULL ){
If (! Genedemail. equalsignorecase (email )){
Genedemail = "emails_non_matching ";
}
} Else {
Genedemail = NULL;
}
Try {
Expiration = long. parselong (Values [2]);
} Catch (exception _ ex ){
Expiration = 0l;
}
}
Return new clientkey (type, genedemail, expiration );
}

Public Boolean isclosetoexpiring (){
Return false;
}

Public Boolean isvalid (){
Return true;
}

Public Boolean isclosetomatching (){
Return false;
}

Public Boolean isexpired (){
Return false;
}

Public String getemail (){
// Modify the email here to your own email address
Return "heimazhao@gmail.com ";
}

Public calendar getexpiration (){
Calendar expirationcal = calendar. getinstance (GMT );
// Change the time here to the authorization expiration time
Expirationcal. Set (2010, 9, 9 );

Return expirationcal;
}

Public Boolean istrial (){
Return false;
}

Public Boolean ispro (){
Return true;
}

Public Boolean shouldpropluginsrun (){
Return true;
}

Public static string trimencryptedlicense (string encrypted ){
String newencrypted = encrypted;
Newencrypted = newencrypted. Trim ();
Newencrypted = newencrypted. replaceall ("-- begin-Aptana-license --","");
Newencrypted = newencrypted. replaceall ("-- end-Aptana-license --","");
Newencrypted = newencrypted. replaceall ("/S + ","");
Return newencrypted;
}
}

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.