当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > URTracker 2.11版 license验证原理剖析

ASP.NET
C# Quoted-Printable编码、解码
asp.net Google的translate工具翻译 API
.NET读取所有目录下文件正则匹配文本电子邮件
asp.net 半角全角转化工具
AjaxControlToolKit 显示浏览者本地语言的方法
asp.net HTML文件上传标签
ASP.NET 绑定DataSet中的多个表
ASP.NET 重定向的几种方法小结
Asp.Net 重定向必须要知道的一些资料
ASP.NET 导出到Excel时保留换行的代码
Asp.Net Cache缓存使用代码
document.getElementsByName和document.getElementById 在IE与FF中不同实现
GridView单元格合并
asp.net 大文件上传控件
asp.net 日期函数 某月的第一天和最后一天的日期
asp.net 时间类 一周的周一和周末的日期
C# javaScript函数的相互调用
asp.net membership 密码重设
"虚拟路径"..."映射到另一个应用程序,这是不允许的!
如何传值在2个页面之间 要求不刷新父页面,并且不能用Querystring传值

ASP.NET 中的 URTracker 2.11版 license验证原理剖析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 234 ::
收藏到网摘: n/a

注    :原创,转载请注明出处。
作 者:草惜草
首 发: http://kokey.blogchina.com

序言:

   看了henryouly的文章以后深受启发,决定对URTracker最新的版本来个剖析。在此,特别感谢henryouly!

×××××××××××××××××××××××××××××××××××××××××××××
URTracker事务跟踪系统是一款功能强大而且易于使用的Web方式的协同工作软件 。它用于帮助公司和团队跟踪工作中的问题,管理和记录这些问题的处理过程。
URTracker向您的团队提供了一个全功能的,高度可定制的软件工具用于报告和跟踪问题、需求、缺陷(BUG)或者任务等事务。它拥有丰富的自定义字段、基于项目和角色的权限控制、简化的工作流、友好的用户界面,以及更多的其他特性。我们非常确信您将会喜欢上URTracker,因为我们相信她正是您所需要的。
 ××××××××××××××××××××××××××××××××××××××××××××
 工具介绍:
 
   要研究.NET当然离不开Reflector for .NET 。(Reflector is a class browser for .NET components. It supports assembly and namespace views, type and member search, XML documentation, call and callee graphs, IL, Visual Basic, Delphi and C# decompiler, dependency trees, base type and derived type hierarchies and resource viewers. )
   如果想把代码保存下来,那就需要Reflector的插件Reflector.FileDisassembler了。(The Reflector.FileDisassembler is a little add-in for the new version of Lutz Roeder's .NET Reflector that you can use to dump the decompiler output to files of any Reflector supported language (C#, VB.NET, Delphi). This is extremely useful if you are searching for a specific line of code as you can use VS.NET's "Find in Files" or want to convert a class from one language to another.

  下载地址:Reflector for .NET   http://www.aisto.com/roeder/dotnet/
                      Reflector.FileDisassembler    http://www.denisbauer.com/NETTools/FileDisassembler.aspx
 
 正文:

严重声明:本文只作科研和学习用途。如果由本文产生的法律纠纷,一概与本人无关。

好了,了解了Reflector咱们就可以动手研究URTracker了。

当然首先用Reflector分析bin文件夹下的文件,一共有12个DLL文件,从他们的名称你也可以猜出个八八九九,反正你不怕麻烦你就挨个用Reflector试好了...^_^
最后找到了WebTracker.dll 可疑,因为在Reflector按F3,你可以搜索到很多关于license的东东。哈哈,探究之路开始了。
首先看看Lealsoft.URTracker.BLL下有个ServerLicenseProvider类。

public class ServerLicenseProvider : LicenseProvider
{
      // Methods
      static ServerLicenseProvider();
      public ServerLicenseProvider();
      protected virtual ServerLicense CreateEmptyLicense(Type type);
      protected virtual ServerLicense CreateLicense(Type type, string key);
      public override License GetLicense(LicenseContext context, Type type, object instance, bool allowExceptions);
      protected virtual string GetLicenseData(Type type);
      protected virtual Stream GetLicenseDataStream(Type type);
      protected virtual bool ValidateLicense(ServerLicense license, out string errorMessage);
      protected virtual bool ValidateLicenseData(Type type, string licenseData);

      // Fields
      private static readonly ServerLicenseCollector LicenseCollector;

      // Nested Types
      private sealed class ServerLicenseCollector
      {
            // Methods
&nb