FlyTreeView for ASP.NET 3.2 破解攻略
2005-02-03 18:55
531 查看
FlyTreeView for ASP.NET 3.2 破解攻略 三君DotNet工作室 君 仁 | ||||||||||||||||||||||
近日对目前较为流行的Asp.Net TreeView 控件的性能进行了测试。如RadTreeView,FlyTreeView,IEWebControlTreeView等。总体感觉,作为一个独立产品,FlyTreeView的外观更为俏丽,性能也最为丰富,可谓精雕细琢。用它遍历服务器硬盘,仿真资源管理器目录的速度是非常快的;它所具有的独一无二的异步加载功能,对那些梦想把全部数据都绑定到一个Web树上,又不想影响客户端加载速度的程序开发者来讲,FlyTreeView切实能使我们鱼肉和熊掌兼得。用过一段时间的IEWebControlTreeView,深感其性能的平平,反应的迟缓,因而一见到FlyTreeView for ASP.NET 3.1 便爱不释手,FlyTreeView for ASP.NET 3.2 出来以后便立即下载了一个。由于试用期过后必须调整“座机”的系统时间才能继续使用,感觉很不方便,便决定自己动手,延长一下试用期,也借机学习一下优秀软件的编制技巧,了解一些书本上得不到的知识。 一、环境准备 1、基本环境:Microsoft Visual Studio .NET 200X开发环境和IIS服务。 2、PATH环境:为方便在命令行上使用有关工具,需要确保更新系统的PATH环境变量。以使系统能在任何目录下都能找到所需的.NET工具。为此,需要将 X:/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin和X:/winnt/Microsoft.NET/Framework/v1.1.4322(v1.0.3705)这两个目录的完整路径添加到PATH环境变量字符串的末尾,如(图一): ![]() 另外,为确保在任何目录下都能进入命令行,须对文件夹的右键菜单添加一个进入命令行的快捷选项。其方法见(图二)。这样,在资源管理器中当对需要进入命令行的文件夹右击鼠标的时候,就会出现图三的画面,选择“进入命令行”即可,免去了手工键入全路径的繁琐过程,见(图三)。 ![]() ![]() 二、工具准备 1、反编译器:代码分析工具我用的是Reflector 4.1.6.0 的试用版,可从 http://www.aisto.com 下载最新版本,Reflector 可以将目标代码反编译成IL、C#、VB.NET、 Delphi四种语言,可供你根据自己的语言习惯进行选择。 Reflector 试用版装载后如果出现过期问题,可通过调整系统时钟予以解决,当然,也可以试着用Reflector自己把Reflector的代码分析一下将这个问题解决了,但不这样做也不影响我们的后续工作。将控件完整的反编译成破解档的工具就使用环境中已有的Microsoft免费提供的MSIL反汇编器ILDASM。经过第一步的准备,我们已经可以在需要的时候在任何目录中调用它。 2、汇编程序:使用环境中已有的Microsoft免费提供的MSIL汇编程序ILASM,通过使用 Ilasm.exe 运行我们破解处理过的ILDASM生成的有关文件以生成最终的破解控件。同 ILDASM 一样,经过第一步的准备,我们已经可以在需要的时候在任何目录中调用它。 3、其他工具:记事本、计算器等,均为系统默认的工具、软件。 三、破解过程 1、安装FlyTreeView:运行FlyTreeView_for_ASP_Setup.3.2.exe,并注意安装过程中选中安装示例Web应用程序。如(图四): ![]() [align=center]在浏览器中浏览示例页面,控件未过期时的正常画面如(图五): [/align] ![]() 将系统时钟向后调整(如一年)后,再次浏览上述页面,则控件立即抛出异常如下(图六): ![]() 2、控件分析: 在你喜欢的位置新建一文件夹,姑且起名为“FlyTreeView破解”,作为我们的工作目录;将示例站点bin目录中的NineRays.Web.UI.WebControls.FlyTreeView.dll拷贝一份到工作目录;用记事本在我们的工作目录里再新建两个批处理文件,以方便后续工作,代码如下:
![]() [align=left] 根据以往破解经验及之前破解FlyTreeView for ASP.NET 3.1 的经历,Web控件的试用限制通常是在 New,Render,Init等位置实现。为此,我们直接展开NineRays.Web.UI.WebControls.FlyTreeView中的FlyTreeView类,以(图六)中抛出的异常信息“9Rays.Net FlyTreeView for ASP.NET TRIAL license has expired.” 为线索,逐个浏览该类中的重点方法与函数的反汇编代码,发现异常是在FlyTreeView类的构造函数New()中抛出的,其高级语言代码如下: [/align]
相关截图见(图八): ![]() 显然,关键代码是:
![]() 在以上由Reflector反编译出的代码中,以VB.NET和Delphi代码最为直观,它使我们一眼就看出该控件的最后使用期限为2004年8月3日。(不同时间下载或安装的FlyTreeView表现在代码中的截止日期可能不同,笔者未特意考证) 下一步的工作就是进入实际破解了。 3、控件破解: 在工作目录中双击反汇编批处理文件myildasm.bat,工作目录中便出现了反汇编后得出的NineRays.Web.UI.WebControls.FlyTreeView.il等相关文件,见下表:
接下来就是使用汇编工具ILASM编译破解后的代码了。 在编译之前,我们对也对控件来个数字签名。(强名称不是必需的,也可以不做,但如果不想做的话请将myilasm.bat中的/key:treekey.snk指令删除) 要进行数字签名,首先要使用SN.EXE产生签名密钥。在资源管理器中右击工作目录“FlyTreeView破解”的文件夹图标后在弹出菜单中选择“进入命令行”,然后再DOS窗口键入 sn -k treekey.snk 回车。一个新的“随机密钥对”便存储到了工作目录下的treekey.snk文件中。 接下来便进入实际编译过程了。关闭DOS窗口和Reflector等软件,回到资源管理器,删除工作目录中的NineRays.Web.UI.WebControls.FlyTreeView.dll,然后双击工作目录中的批处理文件myilasm.bat,等编译工作结束,就可以看到一个新的NineRays.Web.UI.WebControls.FlyTreeView.dll出现在工作目录中。 至此,如果之前的工作没有失误的话,FlyTreeView控件的破解工作就结束了。 四、破解后的测试 启动 Visual Studio .NET 2003,打开FlyTreeView示例站点Samples目录中的示例项目Samples.csproj,在解决方案资源管理器中将项目对NineRays.Web.UI.WebControls.FlyTreeView的引用删除,将对破解后的NineRays.Web.UI.WebControls.FlyTreeView的引用添加进来,并顺便将其添加到工具箱中。 重新生成Samples项目后将系统日期向后调整数年,在浏览器中浏览示例站点,你会发现不再抛出异常。 为最后确认破解是否成功,换另外一台机器使用ip地址或域名方式访问该示例站点,一切正常。 至此,FlyTreeView for ASP.NET 3.2 的破解工作结束,如果你有兴趣的话,还可以为破解后的控件再做一个安装部署项目。这就不在本文探讨的范畴了。 |
版权声明:CSDN是本Blog托管服务提供商。如本文牵涉版权问题,CSDN不承担相关责任,请版权拥有者直接与文章作者联系解决。
[点击此处收藏本文]
发表于 2004年10月15日 7:41 PM
评论
# 回复:FlyTreeView for ASP.NET 3.2 破解攻略 2004-10-15 9:11 PM culturenet好啊,又看到老哥的文章了。精彩。
# 回复:FlyTreeView for ASP.NET 3.2 破解攻略 2004-10-17 1:49 PM upto
学习!
# FlyTreeView for ASP.NET 3.2 破解攻略 2004-10-21 1:31 PM 纯蓝流星
Ping Back来自:blog.csdn.net
# 回复:FlyTreeView for ASP.NET 3.2 破解攻略 2004-10-22 4:39 PM jinchun
我是第一次破解软件
将 dll 改为 0x802后编译成功,在Reflector中也确实看到时间是2005年,但是覆盖到示例位置下,还是说过期
# 回复:jinchun 2004-10-23 7:40 AM 君仁
jinchun:
建议你再仔细看一遍文章的最后一部分:四、破解后的测试。
事例的测试不是简单的用新的NineRays.Web.UI.WebControls.FlyTreeView.dll覆盖老的NineRays.Web.UI.WebControls.FlyTreeView.dll。而是删除原引用,重新添加对新的NineRays.Web.UI.WebControls.FlyTreeView.dll的引用,并重新生成一次示例项目。
# 回复:FlyTreeView for ASP.NET 3.2 破解攻略 2004-10-25 4:02 PM jinchun
问题解决,谢谢 站长
# 回复:FlyTreeView for ASP.NET 3.2 破解攻略 2004-12-23 12:12 AM kflash(狂闪工作室)
大哥,能不能给个下载地址啊?或者给我个破解
9ba0
版本使用啊?我现在用的是TreeView但感觉没有你所介绍给我的这个控件好用啊。你在CSDN的论坛上介绍我来这个网站找该控件的,但发觉没地方下载破解版。
# 回复: kflash(狂闪工作室) 2005-01-18 8:01 PM 君仁
kflash(狂闪工作室) :
下面是破解后的dll,今天临时找了个地方供你下载 http://211.93.98.26/admin/52dotnet/NineRays.Web.UI.WebControls.FlyTreeView.rar
相关文章推荐
- FlyTreeView for ASP.NET 3.2 破解攻略
- FlyTreeView for ASP.NET 3.2 破解攻略
- FlyTreeView for ASP.NET 3.2 破解攻略
- FlyTreeView for ASP.NET 3.2 破解攻略
- FlyTreeView for ASP.NET 3.2 破解攻略
- FlyTreeView for ASP.NET 3.2 破解攻略
- FlyTreeView for ASP.NET 3.1 破解手记
- 今天破解了——FlyTreeView for Asp.net 3.6(破解下载)[原创]
- FlyTreeView for Asp.net 3.6(破解下载)
- FlyTreeView for ASP.NET 3.2 破解攻略
- FlyTreeView for ASP.NET 4.4.0.15
- FlyTreeView for asp.net (4.4.1.2最新破解版)
- 在Asp.Net MVC中PartialView与EditorFor和DisplayFor的区别
- The Dundas Chart 4.1 For ASP.net&WinForms 破解分析
- Introducing “Razor” – a new view engine for ASP.NET
- cshtml Introducing “Razor” – a new view engine for ASP.NET
- “Razor” – a new view engine for ASP.NET
- ComponentArt Web.UI for ASP.NET 套件破解
- [原创]asp.net 2.0下的自定义树(myTreeView)
- cshtml Introducing “Razor” – a new view engine for ASP.NET