`
starnc
  • 浏览: 142853 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

eclipse Aptana plugin破解文件

    博客分类:
  • JAVA
 
阅读更多
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;
    }

}

      把这个java文件编译成class文件,然后找到插件中的ClientKey.class和ClientKey$Decrypt.class文件 替换它。该文件存在于aptana_update_015414\plugins\com.aptana.ide.core_1.1.7.015414.jar中,用winrar打开com.aptana.ide.core_1.1.7.015414.jar文件,在路径com\aptana\ide\core\licensing中存在这两个文件,用我们刚刚编译好的class文件替换,破解成功。可能由于版本号不同的问题,core_1.1.7.015414后的版本名(数字)不同,但不影响破解,破解文件通用。

      我把编译好的class文件和jar文件都放在附件中了,大家可任意选择一个下载,放在指定路径即可。

分享到:
评论

相关推荐

    Eclipse aptana 插件离线安装包(part1)

    Eclipse aptana 插件离线安装包 aptana ide studio 2.0.5版本,可离线安装此插件,无需用官网的在线安装方式安装。 由于上传文件大小被限制,此包被拆分成4部分,请全部下载下来后一起解压。 (1)...

    Eclipse aptana 离线安装包(part3.rar)

    Eclipse aptana 插件离线安装包 aptana ide studio 2.0.5版本,可离线安装此插件,无需用官网的在线安装方式安装。 由于上传文件大小被限制,此包被拆分成4部分,请全部下载下来后一起解压。 (1)...

    Eclipse aptana 离线安装包(part4.rar)

    Eclipse aptana 插件离线安装包 aptana ide studio 2.0.5版本,可离线安装此插件,无需用官网的在线安装方式安装。 由于上传文件大小被限制,此包被拆分成4部分,请全部下载下来后一起解压。 (1)...

    Eclipse3.4-Aptana-plugin-js-css-part3

    Eclipse3.4 Aptana plugin js css

    Eclipse3.4-Aptana-plugin-js-css-part1

    Eclipse3.4 Aptana plugin js css

    Eclipse3.4-Aptana-plugin-js-css-part2

    Eclipse3.4 Aptana plugin js css

    Eclipse aptana 离线安装包(part2.rar)

    Eclipse aptana 插件离线安装包 aptana ide studio 2.0.5版本,可离线安装此插件,无需用官网的在线安装方式安装。 由于上传文件大小被限制,此包被拆分成4部分,请全部下载下来后一起解压。 (1)...

    Aptana2.0.5 EclipsePlugin part3

    Aptana  Aptana是一个非常强大,开源,JavaScript-focused的AJAX开发IDE。它的特点包括: *JavaScript,JavaScript函数,HTML,CSS语言的Code Assist功能。 *Outliner(大纲):显示JavaScript,HTML和CSS的代码结构。  *...

    aptana 2.0 eclipse 插件 天涯浪子

    该插件来源于Aptana RadRails 2.0 Plugin 只能安装到eclpse 3.4以上的环境中。比aptana1.2的功能相比强大了一点点~~~~我在myeclipse 8.0的环境上安装成功!

    eclipse上最好的js插件——aptana

    eclipse上最好的js插件——aptana,已经支持到eclipse3.6,myeclipse尚未测试 已经帮懒人写好了links文件 同时写了份说明文档 1.关闭eclipse 2.将aptana文件夹拷贝到磁盘的一个地方 3.修改links文件夹的aptana.link...

    aptanaCrack

    打开aptana插件目录F:\Program Files\eclipse\Plugin-New\aptana\eclipse\plugins找到 com.aptana.ide.core_1.0.1.004323.jar 用Winrar打开 看winrar中的路径找到这两个class文件 把刚才编译好的两个class文件直接拖...

    spket plugin for eclipse

    体积小巧(eclipse plugin: 3.5M),价格优惠(免费) 主要功能: 1、Ext 对象的自动完成 2、Ext 组件对象的查看 3、JavaScript Lib 对象的自动识别 4、JS文档的智能分析与阅读 这是个振奋人心...

    Aptana.Studio.Professional.v1.2.7.024774.Incl.KeyMaker.and.Patch-DVT.zip

    1.解压缩 2.拷贝到plugin目录 3.运行RUN.bat

    notepad++下PythonScript插件

    写在前面:该插件可以直接在notepad++插件管理器中...Emmet支持多种编辑器,如Sublime Text 2,TextMate 1.x,Eclipse/Aptana,Espresso,Notepad++等。 具体用法可以参考: https://my.oschina.net/bysu/blog/857569

    自己常用人插件

    aptana2.0,easyexplore,jadclipse_3.3.0,spket-1.6.18插件破解,struts2-dojo-plugin-2.1.0

    spket(IDE)

    体积小巧(eclipse plugin: 3.5M),价格优惠(免费) 主要功能: 1、Ext 对象的自动完成 2、Ext 组件对象的查看 3、JavaScript Lib 对象的自动识别 4、JS文档的智能分析与阅读 这是个振奋人心...

Global site tag (gtag.js) - Google Analytics