`
gaoc121
  • 浏览: 10765 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
MyEclipse 9 破解
[quote="nianien"]终于等待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文件
附件里是本人已经重写后的class文件

第二步,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程序中好多方法和成员名称使用的拉丁字母太变态了,以后中国的程序也可以用汉字编写了,让外国人读起来如坠五里云,哈哈~[/quote]

com.rar

权当练手吧,发现使用JavAssist修改JavaCode更方便,直接可以免激活,下面把修改后的类文件放上去,需要的朋友可以直接下载替换了,有什么问题可以联系我

com_javAssist.rar

色阶算法
你有用过photoshop,那么你在菜单的image选项中就有一个Histogram项,其算法就是进行对图像中的所有点按0~255阶进行统计(也就是每阶共有多少个点).   
   然后沿0阶->255阶方向找到最小点HistogramDown(所谓最小点即第一个在某一阶上有点数出现的阶数,如在0阶时为0点,1阶时为0点,2阶也为0点,3阶为10点,4阶为5点,...,那么最小点应为3阶),  同样最大值则是反方向从255阶开始第一个在某一阶上有点数出现的阶数HistogramUp。然后从最小点开始选择整个图像总点数的5.5%的那一点做为新的最小点HistogramDown,再沿相反方向(即255阶->0阶方向)选择整个图像总点数的5.5%的那一点做为新的最大点HistogramUp,那么两者之差为HistogramDifer。 
     再对每一像素点根据公式(R/G/B-histogrambottom)*255.0/histogramdiffer  算出此像素点的新值。
Global site tag (gtag.js) - Google Analytics