手动破解MyEclipse 9. 0 for Linux
一 破解准备工作
1.1 下载反编译工具jad
相关文件下载地址在安科网的1号FTP服务器里,下载地址:
密码:www.muu.cc
下载方法见这里 http://www.linuxidc.net/thread-1187-1-1.html
这个jad是静态的,解压就可以使用。非常方便。
1.2 找到需要修改的类
在桌面新建一个tmp文件夹,创建脚本
将相关文件拷贝到tmp目录下
注意:我安装的是myeclise 9.0的插件版
执行脚本
可以看到以下文件
1.3 反编译相关类
二 破解文件
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的校验过程直接短路,