CuteEditor破解手记

用DotNet多年了,也经常看到一些非常好的控件,最烦躁有些控件做得比较好,但老是有限制或者要注册啊,CuteEditor就是其中一个。一直以为FreetextBox时做得最好的。后来在CnBlogs上面听一个网友讲CuteEditor不错,下回来一看果然不错,但是有使用限制。Reflector一看发现混淆过。
还是使用原来老的破击方法去掉强名,去掉验证特性,运行报错:无法装载指定的DLL。Reflector看发现 LicenseManager. Validate( typeof( Editor));去掉这一段话,编译运行,对象找不到实例。因为混淆没有耐心去仔细查看。反正没有地方要用,第一次放弃。
昨晚加班,反正没有Bug要改和同事聊到控件时,因为自己也做控件,觉得这个控件的做法非常不错,继续尝试一次吧。
去强名;
去验证的特性;
LicenseManager. Validate( typeof(Editor ));  为 LicenseManager. Validate( typeof(Object));
编译运行,发现Onprerender的时候a对象不存在。
在此找到构造函数追到 if (! EditorUtility. b())函数,下面方法可疑:改条件让他永远不执行吧
编译运行继续报同样的错误,
去掉 protected override void OnPreRender( EventArgs e)中的  this. a. ad();
编译运行,这个时候错误在 protected override void Render( HtmlTextWriter writer)地方出现。
确定a对象在 OnPreRender之前被置为Null了。
因为代码混淆过了,这个时候用Reflector不好看执行顺序了,
用ilasm 编译成为Debug版本吧,用VS.Net的IDE环境来调试IL码,关键是找出什么时候被置为Null了,混淆的代码真乱,没耐心继续跟踪了,同事用IDE反复跟踪位置发现
stfld      class CuteEditor.Editor/a/a CuteEditor.Editor/a/a/a::a
在一段函数中两个字符串op_Inequality的时候ldnull
当然永远把他们改为op_Equality吧!
再次编译运行正确,并不需要注册文件。
改时间过一个月同样也 没有问题因为这个控件的授权方式还有好多种,所以也不知道破解得是不是充分。
有兴趣的可以下载测试吧。
破解包中本身以包含有完整的破解IL,大家可以继续修改和测试。

http://files.cnblogs.com/minsky/CuteEditor_for_NET4.5_Crack%20by%20Minsky.part1.rar
http://files.cnblogs.com/minsky/CuteEditor_for_NET4.5_Crack%20by%20Minsky.part2.rar

原文: http://www.cnblogs.com/minsky/articles/192692.aspx

转载于:https://www.cnblogs.com/wskfire/archive/2007/12/12/991812.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值