`

Aptana 页面调试开发工具(内附破解方法)(转帖)

阅读更多

1.
Aptana 是一个非常强大,开源,专注于JavaScript的Ajax开发IDE。它的特性包括: *JavaScript,JavaScript函数,HTML,CSS语言的Code Assist功能。 *Outliner(大纲):显示JavaScript,HTML和CSS的代码结构。
*支持JavaScript,HTML,CSS代码提示,包括JavaScript 自定函数
*代码语法错误提示。
*支持Aptana UI自定义和扩展。
*支持跨平台。
*支持FTP/SFTP
*调试JavaScript
*支持流行AJAX框架的Code Assist功能:AFLAX,Dojo,JQuery,MochiKit,Prototype,Rico,script.aculo.us,Yahoo UI,Ext。
*Adobe AIR与iPhone开发工具
其主页上还提供如何使用该开发工具的视频。

2.Aptana破解方法

找到com.aptana.ide.core_1.0.1.004323.jar文件
编译下面的文件并替换找上面包中的对应文件(在com.aptana.ide.core.licensing目录下)
修改位置见后面注释部分说明!

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);
    }

    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 "heimazhao@gmail.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;
}
}

分享到:
评论
2 楼 sandaobusi 2008-11-04  
只找到了这个文件,和它最相似
com.aptana.ide.core_1.2.0.018852.jar
是不是啊?
1 楼 sandaobusi 2008-11-04  
我怎么找不到com.aptana.ide.core_1.0.1.004323.jar这个文件啊,是不是我的aptana是新版本?请lz赐教

相关推荐

    常用web开发工具 06 Aptana-Studio

    常用web开发工具 06 Aptana-Studio常用web开发工具 06 Aptana-Studio常用web开发工具 06 Aptana-Studio常用web开发工具 06 Aptana-Studio常用web开发工具 06 Aptana-Studio常用web开发工具 06 Aptana-Studio常用web...

    Aptana js调试插件

    在firefox安装该插件即可与Apatana进行逐行js调试。

    Aptana3.4.2插件破解工具

    内附 插件安装说明 以及破解说明 注意可破解使用日期 而不能完全注册破解

    Aptana 非常不错的Javascript 编辑开发工具

    Aptana是一个非常强大,开源,专注于JavaScript的Ajax开发IDE。(比较适合:我这样英语基础差,相对又比较懒的人。...一款非常优秀的Javascript(AJAX) 开发工具:Aptana。应为它实在太棒了,所以我忍不住想向你推荐它

    Aptana_Studio_Setup_2.0.5

     Aptana是一个基于Eclipse的集成开发环境,其最广为人知的是它非常强悍的JavaScript编辑器和调试器。去年Aptana吸收了Radrails项目,添加了非常强大的Ruby on Rails支持。但是Aptana前进的脚步并未停Aptana 止。...

    使用Aptana+Rails开发Rails Web应用(中文)

    使用Aptana+Rails开发Rails Web应用 有Aptana的安装配置等等,中文

    Aptana IDE 下载(官网版本)

    Aptana是一个基于Eclipse的集成开发环境,其最广为人知的是JavaScript编辑器和调试器。2011年Aptana吸收了Radrails项目,添加了Ruby on Rails支持。 如今Aptana Studio 1.0支持如下几大方面的开发功能:1、AJAX开发...

    Aptana的安装方法

    Aptana的快速安装方法,让你快速体验开发的快感,绝对实用!

    Aptana 3.4.2 插件安装方法

    Aptana 3.4.2 插件共4分,请搜索依次下载 Aptana 3.4.2 插件1 Aptana 3.4.2 插件2 Aptana 3.4.2 插件3 Aptana 3.4.2 插件4

    Aptana+python安装软件.rar

    Aptana_studio_3_Stepup_3.4.0.e.exe,支持python语言、js、html网页开发的工具

    Aptana Studio支持GBK编码的方法

    Aptana Studio支持GBK编码的方法

    Aptana Studio支持中文的方法

    Aptana Studio支持中文的方法,教你这样使用中文的Aptana软件

    Aptana 1.5.1 破解版 5/6

    http://download.csdn.net/source/2150354 http://download.csdn.net/source/2150399 http://download.csdn.net/source/2150457 http://download.csdn.net/source/2150510 http://download.csdn.net/source/2150610 ...

    Aptana_Studio_Setup_1.5.1.part4.rar

    aptana1.5安装文件 js 调试 开发aptana1.5安装文件 js 调试 开发aptana1.5安装文件 js 调试 开发aptana1.5安装文件 js 调试 开发

    Aptana插件aptana3.4.2

    MyEclipse插件、Eclipse插件,方便JavaScript学习使用

    Aptana2.0.5 EclipsePlugin part3

    Aptana  Aptana是一个非常强大,开源,JavaScript-focused的AJAX开发IDE。...  *代码语法错误提示。  *支持Aptana UI自定义和扩展。  *支持跨平台。... *支持流行AJAX框架的... 其主页上还提供如何使用该开发工具的视频。

    MyEclipse插件插件aptana的安装方法

    MyEclipse插件插件aptana的安装方法

    Aptana 1.5.1 破解版 1/6

    http://download.csdn.net/source/2150354 http://download.csdn.net/source/2150399 http://download.csdn.net/source/2150457 http://download.csdn.net/source/2150510 http://download.csdn.net/source/2150610 ...

    Aptana RadRails

    Aptana RadRails,作为一款Eclipse的插件,主要的作用就是JavaScript的调试和智能提示,就想你跟踪Java bug那样方便,有助于提升javaweb的开发效率

    Aptana_NightLion_Theme_v1

    aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题aptana主题

Global site tag (gtag.js) - Google Analytics