这篇文章是昨晚写的,本来是用来申请注册论坛新用户的。很高兴,早上一来上班就收到了激活帐号的邮件。于是把文章贴出来,略嫌粗糙,欢迎大家批评指正。
近日正逢开发中碰到一个问题,参考看雪论坛精华顺手破解了一个ASP.NET控件。并写下本文,虽然看起来很简单,但是是第一次破解.NET程序,还是足足花了我一个多小时,因为修改编译完控件后,一直没有重新编译自己的工程项目,绕了不少弯路。
【破解作者】 casey
【作者邮箱】 [email]zhengzhao@21cn.com[/email]
【使用工具】 ILDASM,ILASM, Reflector
【破解平台】 WinXP
【软件名称】 obout slide menu控件
【下载地址】
www.obout.com
【软件简介】 关于本软件
本软件在ASP.Net环境下提供完全XP风格的滑动菜单的可视化效果。
【软件大小】 44KB
【加壳方式】 未
-------------------------------------------------------------------------------
【破解内容】
最近要替所在单位开发一套B/S系统,开发平台使用VS .NET 2003, 使用技术为ASP .NET。为加快开发进度,使用了obout公司开发的滑动菜单控件。由于该控件有时间限制,到了2005年后菜单项数量被限制,而且显示出“expired”提示,不雅,决意破之。在看雪论坛精华crack6.chm内找到了相关的文章,在此由衷感谢!
背景知识介绍:
首先用ILDASM把obout_SlideMenu3_Pro_Net.DLL反汇编,很快我们得到了反编译后的obout_SlideMenu3_Pro_Net.il,obout_SlideMenu3_Pro_Net.res。用Reflector从obout_SlideMenu3_Pro_Net.DLL提取出OboutInc.SlideMenu.SlideMenu.bmp(后面编译时用得着)。
察看obout_SlideMenu3_Pro_Net.il,由于该控件用到判断时间的函数,所以搜索字符串time,很快找到可疑代码段
IL_102b: /* 28 | (0A)000057 */ call valuetype [mscorlib/* 23000002 */]System.DateTime/* 0100003B */ [mscorlib/* 23000002 */]System.DateTime/* 0100003B */::get_Now() /* 0A000057 */
IL_1030: /* 20 | D5070000 */ ldc.i4 0x7D5
IL_1035: /* 17 | */ ldc.i4.1
IL_1036: /* 1F | 0B */ ldc.i4.s 11
IL_1038: /* 73 | (0A)000058 */ newobj instance void [mscorlib/* 23000002 */]System.DateTime/* 0100003B */::.ctor(int32,
0x7D5,换成十进制就是2005了,有门,呵呵。
把0x7D5改成0xBB7,哈哈,改成2999年才会过期。
存盘,用ILASM编译
ilasm /DLL obout_SlideMenu3_Pro_Net.il
将生成的obout_SlideMenu3_Pro_Net.dll覆盖原来的文件,VS .NET 2003下重新编译我的工程文件。
哈哈,搞定,出来的菜单上没有“expired”了,把时间调到2099年(调不到3000,郁闷),也不出现“expired”。当然,菜单数量限制也没有了。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!