【转】Aptana Studio 1.0.10 crack 完美暴力破解

it2022-05-09  33

本文转自:http://www.blogjava.net/vip01/archive/2008/01/04/172785.html

Aptana Studio 1.0.10 crack 完美暴力破解.可在线升级安装professional插件

首先到http://www.aptana.com/download/index.php 选择eclipse plugin 输入用户名,密码,邮箱. 点download 会出现一个链接 点击 到http://update.aptana.com/update/3.2/这个页面 点击Download Plugin Update Site 下载下来的安装包 别按官方说的安装 直接解压缩用link方式安装 这时候你的邮箱会收到一个测试license

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;              /*  289  */ if  (encrypted  ==   null ) {                  /*  291  */ encrypted  =   "" ;             }  else  {                  /*  295  */ encrypted  =  ClientKey.trimEncryptedLicense(encrypted);             }              /*  297  */ BigInteger big  =   new  BigInteger(encrypted);              /*  298  */ BigInteger decrypted  =  big.modPow(exponent, modulus);              /*  300  */ crc32Value  =  ( long ) decrypted.intValue()  &   0xffffffffL ;              /*  301  */ decrypted  =  decrypted.shiftRight( 32 );              /*  302  */ bytes  =  decrypted.toByteArray();              /*  303  */ crc32  =   new  CRC32();              /*  304  */ crc32.update(bytes);              /*  305  */ return   new  String(bytes);         }         Decrypt(String exponent, String modulus) {              /*  275  */ this .modulus  =   new  BigInteger(modulus);              /*  276  */ 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) {          /*  77  */ this .type  =   0 ;          /*  78  */ this .email  =   " e@e.com " ;          /*  79  */ this .expiration  =   999999999 ;     }      public   static  ClientKey decrypt(String encrypted, String email) {          /*  93  */ String modulus  =   " 115801190261221214754334668902722425936509505416457970789287297728816388753627896293249501578830570324705253515546383166989625001335561947096747210280001245977114030627247212292377290543869343996595819188362915644707269064020812435233012510929338706599216007185654748959001143012936618501934698642942289379979 " ;          /*  94  */ String exponent  =   " 65537 " ;          /*  100  */ if  (encrypted  !=   null ) {              /*  102  */ encrypted  =  encrypted.trim();         }          /*  104  */ Decrypt decrypter  =   new  Decrypt(exponent, modulus);          /*  105  */ return  decrypt(decrypter, encrypted, email);     }      private   static  ClientKey decrypt(Decrypt decrypter, String encrypted,             String email) {          /*  110  */ String value  =  decrypter.decrypt(encrypted);          /*  111  */ if  (value  ==   null ) {              /*  113  */ return   new  ClientKey( 1 null 0L );         }          /*  115  */ String values[]  =  value.split( " ; " );          /*  116  */ int  type  =   1 ;          /*  117  */ String genedEmail  =   null ;          /*  118  */ long  expiration  =   0L ;          /*  119  */ if  (values.length  ==   3 ) {              /*  121  */ if  ( " p " .equals(values[ 0 ].toLowerCase())) {                  /*  123  */ type  =   0 ;             }              /*  125  */ genedEmail  =  values[ 1 ];              /*  127  */ if  (genedEmail  !=   null ) {                  /*  129  */ if  ( ! genedEmail.equalsIgnoreCase(email)) {                      /*  131  */ genedEmail  =   " EMAILS_NON_MATCHING " ;                 }             }  else  {                  /*  136  */ genedEmail  =   null ;             }              /*  140  */ try  {                  /*  140  */ expiration  =  Long.parseLong(values[ 2 ]);             }              /*  142  */ catch  (Exception _ex) {                  /*  144  */ expiration  =   0L ;             }         }          /*  147  */ return   new  ClientKey(type, genedEmail, expiration);     }      public   boolean  isCloseToExpiring() {          return   false ;     }      public   boolean  isValid() {          /*  169  */ return   true ;     }      public   boolean  isCloseToMatching() {          /*  179  */ return   true ;     }      public   boolean  isExpired() {          /*  190  */ return   false ;     }      public  String getEmail() {          /*  200  */ return   " e@e.com " ;     }      public  Calendar getExpiration() {          /*  210  */ Calendar expirationCal  =  Calendar.getInstance();         expirationCal.set( 2088 7 8 );          /*  212  */ return  expirationCal;     }      public   boolean  isTrial() {          /*  222  */ return   false ;     }      public   boolean  isPro() {          /*  232  */ return   true ;     }      public   boolean  shouldProPluginsRun() {          return   true ;     }      public   static  String trimEncryptedLicense(String encrypted) {          /*  257  */ String newEncrypted  =  encrypted;          /*  258  */ newEncrypted  =  newEncrypted.trim();          /*  259  */ newEncrypted  =  newEncrypted.replaceAll(                  " --begin-aptana-license-- " "" );          /*  260  */ newEncrypted  =  newEncrypted.replaceAll(                  " --end-aptana-license-- " "" );          /*  261  */ newEncrypted  =  newEncrypted.replaceAll( " \\s+ " "" );          /*  262  */ return  newEncrypted;     } }

编译上面的源文件替换com.aptana.ide.core_1.0.1.004323.jar里面的class 然后重新打开eclipse 注册aptana 用户名是你收到邮件内容"For your reference, your license locator ID is:"后面的 key就是邮件中"License key:"后面那一串 这时候你就会发现你的aptana就是注册版了 第一阶段完成 然后点击install... 在线升级安装professional的插件. 会让你输入用户名密码 这个用户名密码就是你在下载页面输入的那个, 下载的时候会提示你安装目录,随便选一个目录. 安装以后重新打开eclipse就会发现又不能用了.

package  com.aptana.ide.professional; import  java.math.BigInteger; import  java.util.Calendar; import  java.util.Hashtable; import  java.util.TimeZone; import  java.util.zip.CRC32; import  org.eclipse.core.runtime.CoreException; import  org.eclipse.jface.resource.ImageDescriptor; import  org.eclipse.swt.graphics.Image; import  org.eclipse.ui.plugin.AbstractUIPlugin; import  org.osgi.framework.BundleContext; import  com.aptana.ide.core.ui.CoreUIUtils; import  com.aptana.ide.core.ui.preferences.ApplicationPreferences; public   class  Activator  extends  AbstractUIPlugin {      static   final   class  ClientKey {          static   class  Decrypt {              private  BigInteger modulus;              private  BigInteger exponent;              public  String decrypt(String encrypted) {                  long  crc32Value;                  byte  bytes[];                 CRC32 crc32;                  /*  276  */ if  (encrypted  ==   null ) {                      /*  278  */ encrypted  =   "" ;                 }  else  {                      /*  282  */ encrypted  =  ClientKey                             .trimEncryptedLicense(encrypted);                 }                  /*  284  */ BigInteger big  =   new  BigInteger(encrypted);                  /*  285  */ BigInteger decrypted  =  big.modPow(exponent, modulus);                  /*  287  */ crc32Value  =  ( long ) decrypted.intValue()  &   0xffffffffL ;                  /*  288  */ decrypted  =  decrypted.shiftRight( 32 );                  /*  289  */ bytes  =  decrypted.toByteArray();                  /*  290  */ crc32  =   new  CRC32();                  /*  291  */ crc32.update(bytes);                  /*  292  */ label0: {                      /*  292  */ if  (crc32Value  ==  crc32.getValue()) {                          /*  294  */ return   new  String(bytes);                     }                      /*  297  */ break  label0;                 }                  /*  300  */ return   null ;             }             Decrypt(String exponent, String modulus) {                  /*  262  */ this .modulus  =   new  BigInteger(modulus);                  /*  263  */ 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   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;          public   static  ClientKey decrypt(String encrypted, String email) {              /*  84  */ String modulus  =   " 115801190261221214754334668902722425936509505416457970789287297728816388753627896293249501578830570324705253515546383166989625001335561947096747210280001245977114030627247212292377290543869343996595819188362915644707269064020812435233012510929338706599216007185654748959001143012936618501934698642942289379979 " ;              /*  85  */ String exponent  =   " 65537 " ;              /*  87  */ if  (encrypted  !=   null ) {                  /*  89  */ encrypted  =  encrypted.trim();             }              /*  91  */ Decrypt decrypter  =   new  Decrypt(exponent, modulus);              /*  92  */ return  decrypt(decrypter, encrypted, email);         }          private   static  ClientKey decrypt(Decrypt decrypter, String encrypted,                 String email) {              /*  97  */ String value  =  decrypter.decrypt(encrypted);              /*  98  */ if  (value  ==   null ) {                  /*  100  */ return   new  ClientKey( 1 null 0L );             }              /*  102  */ String values[]  =  value.split( " ; " );              /*  103  */ int  type  =   1 ;              /*  104  */ String genedEmail  =   null ;              /*  105  */ long  expiration  =   99999999999999L ;              /*  134  */ return   new  ClientKey(type, genedEmail, expiration);         }          public   boolean  isCloseToExpiring() {              return   false ;         }          public   boolean  isValid() {              return   true ;         }          public   boolean  isCloseToMatching() {              /*  166  */ return   true ;         }          public   boolean  isExpired() {              /*  176  */ Calendar currentCalendar  =  Calendar.getInstance(GMT);              /*  177  */ return  currentCalendar.after(getExpiration());         }          public  String getEmail() {              /*  187  */ return   " e@e.com " ;         }          public  Calendar getExpiration() {              /*  197  *//*  210  */ Calendar expirationCal  =  Calendar.getInstance();             expirationCal.set( 2088 7 8 );              /*  212  */ return  expirationCal;         }          public   boolean  isTrial() {              /*  209  */ return   false ;         }          public   boolean  isPro() {              /*  219  */ return   true ;         }          public   boolean  shouldProPluginsRun() {              /*  229  */ return   true ;         }          public   static  String trimEncryptedLicense(String encrypted) {              /*  244  */ String newEncrypted  =  encrypted;              /*  245  */ newEncrypted  =  newEncrypted.trim();              /*  246  */ newEncrypted  =  newEncrypted.replaceAll(                      " --begin-aptana-license-- " "" );              /*  247  */ newEncrypted  =  newEncrypted.replaceAll(                      " --end-aptana-license-- " "" );              /*  248  */ newEncrypted  =  newEncrypted.replaceAll( " \\s+ " "" );              /*  249  */ return  newEncrypted;         }          private  ClientKey( int  type, String email,  long  expiration) {              /*  68  */ this .type  =   0 ;              /*  69  */ this .email  =   " e@e.com " ;              /*  70  */ this .expiration  =   99999999999999L ;         }     }      private   static  Hashtable images  =   new  Hashtable();      public   static   final  String PLUGIN_ID  =   " com.aptana.ide.professional " ;      private   static  Activator plugin;      public  Activator() {          /*  320  */ plugin  =   this ;     }      public   void  start(BundleContext context)  throws  Exception {          /*  328  */ super .start(context);          /*  330  */ CoreUIUtils.registerFileExtension(                  " com.aptana.ide.editor.text " " * " " json " );          /*  332  */ ClientKey key  =  getActivationKey();          /*  333  */          /*  365  */ return ;     }      public   void  stop(BundleContext context)  throws  Exception {          /*  372  */ plugin  =   null ;          /*  373  */ super .stop(context);     }      public   static  ClientKey getActivationKey() {          /*  383  */ ClientKey key  =   null ;          /*  386  */ try  {              /*  386  */ String keyString  =  ApplicationPreferences.getInstance()                     .getString( " com.aptana.ide.core.ui.ACTIVATION_KEY " );              /*  387  */ String emailString  =  ApplicationPreferences.getInstance()                     .getString(                              " com.aptana.ide.core.ui.ACTIVATION_EMAIL_ADDRESS " );              /*  389  */ key  =  ClientKey.decrypt(keyString, emailString);         }          /*  391  */ catch  (Exception _ex) {              /*  393  */ key  =  ClientKey.decrypt( " 123 " " e@e.com " );         }                   /*  395  */ return  key;     }      public   static   boolean  isKeyValid() {          /*  411  */ return   true ;     }      public   static  Activator getDefault() {          /*  421  */ return  plugin;     }      public   boolean  disableFeature(String id)  throws  CoreException {          /*  437  */ return   false ;     }      public   static  Image getImage(String path) {          /*  454  */ if  (images.get(path)  ==   null ) {              /*  456  */ ImageDescriptor id  =  getImageDescriptor(path);              /*  458  */ if  (id  ==   null ) {                  /*  460  */ return   null ;             }  else  {                  /*  463  */ Image i  =  id.createImage();                  /*  465  */ images.put(path, i);                  /*  467  */ return  i;             }         }  else  {              /*  471  */ return  (Image) images.get(path);         }     }      public   static  ImageDescriptor getImageDescriptor(String path) {          /*  484  */ return  AbstractUIPlugin.imageDescriptorFromPlugin(                  " com.aptana.ide.professional " , path);     } }

编译并替换 你刚刚选的目录\eclipse\plugins\com.aptana.ide.professional_1.0.10.200711191212\com\aptana\ide\professional下面的class.注意尤其要注意,上面的代码只能在eclipse插件项目里面才能编译. 然后再到aptana设置里面注册一次.key还是之前邮件里面的测试key 但是用户名变成了之前下载页面里面你填的那个用户名. 点击validate 成功的话,会显示绿色 valid key License Type: Professional Registered to: e@e.com Expires on: 2088年8月8日 XXXXXXXXX 其实感觉升级的东西对我没什么用,我也就是用他写写js 而且第二步比较复杂 建议除非升级以后的功能对你非常重要,否则到第一阶段就可以了.

转载于:https://www.cnblogs.com/feima-lxl/archive/2008/10/02/1303039.html

相关资源:aptana studio 3

最新回复(0)