歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 手動破解MyEclipse 9. 0 for Linux

手動破解MyEclipse 9. 0 for Linux

日期:2017/2/28 16:09:39   编辑:Linux教程

一 破解准備工作

1.1 下載反編譯工具jad

相關文件下載地址在Linux公社的1號FTP服務器裡,下載地址:

FTP地址:ftp://www.linuxidc.com

用戶名:www.linuxidc.com

密碼:www.muu.cc

在 2011年LinuxIDC.com\8月\手動破解MyEclipse 9. 0 for Linux

下載方法見這裡 http://www.linuxidc.net/thread-1187-1-1.html

這個jad是靜態的,解壓就可以使用。非常方便。

1.2 找到需要修改的類

在桌面新建一個tmp文件夾,創建腳本

[www.linuxidc.com@linuxidc ~]$ mkdir tmp

將相關文件拷貝到tmp目錄下

[www.linuxidc.com@linuxidc tmp]$ ls
com.genuitec.eclipse.core_9.0.0.me201103181703.jar

注意:我安裝的是myeclise 9.0的插件版

執行腳本

[www.linuxidc.com@linuxidc tmp]$ unzip com.genuitec.eclipse.core_9.0.0.me201103181703.jar -d crack

可以看到以下文件

[www.linuxidc.com@linuxidc tmp]$ ls crack/
about.blue.mappings com lib plugin.properties
about.html icons license.html plugin.xml
about.mappings images META-INF preferences.ini

1.3 反編譯相關類

[www.linuxidc.com@linuxidc crack]$ jad -o -r -sjava com/genuitec/eclipse/core/ActivationValidator.class
Parsing com/genuitec/eclipse/core/ActivationValidator.class...The class file version is 49.0 (only 45.3, 46.0 and 47.0 are supported)
Generating com/genuitec/eclipse/core/ActivationValidator.java

二 破解文件

2.1 通過上面的反編譯,我們可以知道反編譯後的文件在路徑com/genuitec/eclipse/core/ActivationValidator.java

將ActivationValidator.java中的文件替換為以下內容

// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: packimports(3)


package com.genuitec.eclipse.core;


import com.genuitec.eclipse.core.activation.ActivationCode;
import com.genuitec.eclipse.core.activation.InvalidSystemDataException;
import com.genuitec.eclipse.core.activation.SystemIdFactory;
import com.genuitec.eclipse.core.util.PlatformUtil;
import com.genuitec.eclipse.core.util.StatusInfo;
import org.eclipse.core.runtime.IStatus;

public class ActivationValidator

{

public ActivationValidator(String s, String s1)

{
_fld0101 = s1;
if(!PlatformUtil.isNullOrEmpty(s))
try
{
_fld0104 = ActivationCode.fromCode(s);
}
catch(InvalidSystemDataException _ex)
{
_fld0103 = true;
}
else
_fld0103 = true;
_mth0101();
}

public ActivationValidator(ActivationCode activationcode, String s)
{
_fld0101 = s;
_fld0104 = activationcode;
_mth0101();
}

private void _mth0101()
{
if(_fld0104 == null)
_fld0103 = true;
if(!isDecodeFailed())
{
_fld0102 = _fld0104.getLicenseCode().equals(_fld0101);
_fld0105 = SystemIdFactory.matches(_fld0104.getSystemId());
}
}

public ActivationCode getActivationCode()
{
return _fld0104;
}

public boolean isDecodeFailed()
{
return false;
}

public boolean isExpired()
{
return false;
}

public boolean isValidForLicense()
{
return true;
}

public boolean isValidForSystemId()
{
return true;
}

public boolean isValid()
{
return true;
}

public IStatus validate()
{
return PlatformUtil.getOKStatus();

}

public static final int ACT_VALIDATE_DATA_ERROR = 101;
public static final int ACT_VALIDATE_LICENSEMATCH_ERROR = 102;
public static final int ACT_VALIDATE_SYSTEMID_ERROR = 103;
public static final int ACT_VALIDATE_EXPIRED_ERROR = 104;
private String _fld0101;
private ActivationCode _fld0104;
private boolean _fld0103;
private boolean _fld0102;
private boolean _fld0105;
}


上面方法將ActivationValidator的校驗過程直接短路,

Copyright © Linux教程網 All Rights Reserved