zhongxinggroup

Java、dot Net程序开发方法

导航

MyEclipse9正式版的破解方法(转)

转载一篇另一种《MyEclipse9正式版的破解方法》,时间关系,未经验证:http://hi.baidu.com/flychen50/blog/item/b8039f1e77c6970a413417d7.html

 

 

MyEclipse9正式版的破解方法
2011-03-25 13:45终于等待MyEclipse9的出现了,不是IDE控,实在是想用eclipse3.6的内核,
目前MyEclipse9版本尚未有好的破解方法,所以我只有来个釜底抽薪解决激活的问题

哈哈,这当然要感谢Java的开源性了,基本方法就是改写了com.genuitec.eclipse.core.activation.ProductActivator类,取消验证过程,直接返回正确的状态
这样就可以一劳永逸了

鉴于有人说64位不可用,晚上回去实验了一下,证明64位依然有效,毕竟Java代码是跨平台的,本来就应该没什么问题。下面将破解方法重新整理一下,详细说明,一则,网上的破解方法我确实用不了,二则,既然学编程的,就当练练手吧。
首先,关于MyEclipse的激活校验,我目前只找到三个类可以修改使其破解,有com.genuitec.eclipse.core.ActivationValidator、com.genuitec.eclipse.core.LicenseUtil、和com.genuitec.eclipse.core.activation.ProductActivator.class
经我一一实验,个人觉得修改第一个类最方便,先上代码吧:
public static void _ActivationValidator()throws Exception {
ClassPool pool = ClassPool.getDefault();
CtClass cc = pool.get("com.genuitec.eclipse.core.ActivationValidator");
CtMethod fMethod = cc.getDeclaredMethod("isExpired");
fMethod.setBody("return false;");
fMethod = cc.getDeclaredMethod("isDecodeFailed");
fMethod.setBody("return false;");
fMethod = cc.getDeclaredMethod("isValidForLicense");
fMethod.setBody("return true;");
fMethod = cc.getDeclaredMethod("isValidForSystemId");
fMethod.setBody("return true;");
fMethod = cc.getDeclaredMethod("isValid");
fMethod.setBody("return true;");
fMethod = cc.getDeclaredMethod("validate");
fMethod.setBody("return com.genuitec.eclipse.core.util.PlatformUtil.getOKStatus();");
cc.writeFile("D:\\");
}

上面方法将ActivationValidator的校验过程直接短路,

将生产的class文件替com.genuitec.eclipse.core_9.0.0.me201103181703.jar中的相应的class文件
文件地址:http://u.115.com/file/f466e382e9#

com.rar

第二步,MyEclipse9会从属性文件中读取激活码,虽然我们对校验过程进行短路,但是程序有个是否为空的判断,因此,我们需要在属性文件中配置一下激活码,激活码的值随便填:)
以下是读取属性文件的代码片段,由此可以看到激活码的属性名称为:ACTIVATION_KEY
       ViperCore.getDefault().log(str1);
      localObject1 = ViperCore.getDefault().getPluginPreferences();
      ((Preferences)localObject1).setValue("LICENSEE", ?);
      ((Preferences)localObject1).setValue("LICENSE_KEY", ā);
      ((Preferences)localObject1).setValue("ACTIVATION_KEY", ?);
      ViperCore.getDefault().savePluginPreferences();

因此我们需要在属性文件中添加激活码的属性配置:
属性文件的目录在user.home目录下,Win7中目录为:C:\Users\用户名\.myeclipse.properties
打开文件,添加激活码配置:
ACTIVATION_KEY=1111111111111111111111111111111111
这里的激活码随便配置,只是为了防止读取为空而已
再有就是,我在源程序中看到有判断长度是否小于35的代码段,所以就把激活码设置成了35位,想必正确的激活码应该也是35位吧?本人没有验证


第三步,为了程序正常启动,我们需要避免MyEclipse进行完整性校验,否则,MyEclipse自检程序发现文件被改动时,将导致启动失败。由于本人没有找到也懒得去找完整性校验的代码类,所以直接修改配置文件,取消启动时校验。
配置文件位于安装目录%MyEclipse%\MyEclipse 9\myeclipse.ini,在文件最后添加如下两行:
-Dgenuitec.honorDevMode=true
-Dosgi.dev=true
自此破解过程完成,成功启动MyEclipse9,期盼已久的eclipse3.6内核!

PS:破解过程中发现MyEclipse程序中好多方法和成员名称使用的拉丁字母太变态了,以后中国的程序也可以用汉字编写了,让外国人读起来如坠五里云,哈哈~

转自:http://www.javaeye.com/topic/972832‍

 

posted on 2011-05-01 12:58  liuql  阅读(921)  评论(0编辑  收藏  举报