`

aptana1.x破解

阅读更多
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() & 0xffffffffL;
            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);*/
return new ClientKey(0, "yswwei@vip.sina.com", 2524600800000L);

    }

    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() {
       //把此处的Email修改为你自己的Email地址
        return "yswwei@vip.sina.com";
    }

    public Calendar getExpiration() {
        Calendar expirationCal = Calendar.getInstance(GMT);
          //把此处的时间修改为授权到期时间
        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;
}
}



将上面代码存为.java文件,可以存在D盘,在cmd运行 d:\javac ClientKey.java

将编辑完成的两个.class文件,考到 ecplice/plugin/com.aptana.ide.core*.jar中,此文件用winrar打开,到com.aptana.ide.core.licensing下
分享到:
评论

相关推荐

    Aptana-Editor-1.2.6 for eclipse 3.2.x or 3.3.x part-1

    Aptana_Editor_1.2.6 for eclipse 3.2.x or 3.3.x part_1。 eclipse 的一个编辑 html、js、css 的免费插件。

    Aptana-Editor-1.2.6 for eclipse 3.2.x or 3.3.x part-2

    Aptana_Editor_1.2.6 for eclipse 3.2.x or 3.3.x part_2。 eclipse 的一个编辑 html、js、css 的免费插件。

    Aptana Studio 3.rar

    1. **代码编辑器**:Aptana的代码编辑器支持语法高亮、自动完成、实时错误检查和代码折叠,使得编写代码更为高效。对于JavaScript,它还提供了对ES6及更高级语法的支持。 2. **项目管理**:IDE允许用户创建、组织和...

    aptana-python.zip

    对于Python开发者来说,Aptana提供了对Python 3.x的支持,包括3.6版本,使得Python开发更加便捷。 在安装Aptana Studio时,通常会涉及到以下步骤: 1. **下载安装包**:首先,你需要从官方网站或可靠的源下载...

    Aptana 3.4.2 插件1

    1. **跨平台支持**:Aptana 3.4.2可在Windows、Mac OS X和Linux等操作系统上运行,满足不同开发者的需求。 2. **集成开发环境**:提供代码编辑、调试、版本控制和项目管理等一站式开发工具,使开发者能集中精力进行...

    Aptana_RadRails_Setup_2.0.2.exe.hx1.rar

    10. **多平台支持**:Aptana RadRails可以在Windows、Mac OS X和Linux等操作系统上运行。 为了正确安装和使用Aptana RadRails,你需要先下载所有分卷文件,并使用相应的工具(如HJSplit或WinRAR)按照正确的顺序...

    Aptana 3.4.2 插件4

    1. **集成开发环境(IDE)**:Aptana作为一款IDE,提供了一个统一的工作空间,集成了编辑器、调试器、版本控制系统和其他开发工具,使得开发流程更加高效。 2. **代码高亮和自动完成**:支持HTML、CSS和JavaScript...

    aptana的textmate配色文件

    1. 首先,解压"remi-aptana-col-v2"文件到你的电脑上。 2. 打开Aptana IDE,进入“Window”菜单,选择“Preferences”。 3. 在打开的“Preferences”窗口中,导航至"General" > "Appearance" > "Color Theme"。 4. ...

    Aptana IDE : Javascript专用编辑器(Eclipse界面 )

    1. **强大的代码编辑支持**:Aptana IDE提供了一流的代码编辑体验,包括智能代码完成、语法高亮、代码折叠等功能,帮助开发者更高效地编写代码。 2. **集成调试工具**:支持多种调试方式,包括断点设置、变量监视等...

    Aptana 3软件(win版)

    (软件介绍:Aptana是一个...可以到网上搜索这个版本的JRE:jre-8u192-windows-x64.以上适合win 64位系统.如果是32位电脑系统,那需要自己网上下载32位的JRE.如果是想在Eclipse上添加Aptana插件,那在我另一个上传资源里面.

    aptana3.6.1需要的软件,aptana3.6.1请官网自己下载

    aptana3.6.1需要的软件:node-v0.10.13-x64,node-v0.10.13-x64,32bit_jre7以及配置文件,下载安装好就可以使用了。aptana3.6.1请官网自己下载。

    aptana3.0-rar04

    1. `org.eclipse.platform.doc.user_3.6.2.r362_v20101117-0800.jar` - 这是Eclipse平台用户文档的JAR文件,包含了Eclipse 3.6.2版本的用户指南和帮助信息,便于开发者查阅API和其他开发相关资料。 2. `org.eclipse...

    Aptana Studio

    1. **跨平台支持**:Aptana Studio 可在 Windows、Mac OS X 和 Linux 上运行,这为不同操作系统下的开发者提供了便利。 2. **代码智能提示**:通过智能感知功能,Aptana Studio 能够根据代码上下文提供代码建议,...

    Myeclipse8.x的优化及插件配置[整理].pdf

    1. **下载 Aptana 2.0 插件**: 从提供的链接或官方渠道下载 Aptana 2.0 Eclipse Plugin 插件。 2. **安装步骤**: - 解压插件包中的 `features` 和 `plugins` 文件夹,并将其复制到自定义插件目录(如 `E:\MyEclipse...

    Aptana Radrails - An Ide for Rails Development

    - **操作系统兼容性**:支持 Windows、Mac OS X 和 Linux 等主流操作系统。 - **安装过程**:遵循标准安装向导步骤即可完成安装,过程简单快捷。 - **初始配置**:根据个人喜好和项目需求进行配置,例如设置代码样式...

    less.ruble:适用于 Wro4j Runner 的 Aptana Studio 3x 捆绑包

    适用于 Wro4j Runner 的 Aptana Studio 3x 捆绑包 使用 Wro4j Runner 优化和/或最小化基于 Eclipse 的 IDE 中的 CSS/JS 文件。 作者 学分 链接 执照 此捆绑包在 MIT 和 GPL 许可下获得双重许可:

    谈在Eclipse中配置Tomcat.docx

    - 从Apache官方站点(tomcat.apache.org)获取Tomcat的最新稳定版本,例如6.x。这里下载的是apache-tomcat-6.0.20.exe。 - 按照默认设置安装Tomcat,但在安装过程中,确保在管理员密码环节设置一个自定义的密码。 -...

    文件 eclipse pydev python

    - 打开位于`plugins\org.python.pydev.debug_x.x.x.yyyymmddhh\pysrc\pydevd.py`的文件。 - 修改第920行的`encoding=None`为`encoding="UTF-8"`。 4. **创建Python项目** - 通过“File -> New -> Project”创建一...

Global site tag (gtag.js) - Google Analytics