URTracker 2.11版 license验证原理剖析

2016-01-29 13:30 45 1 收藏

URTracker 2.11版 license验证原理剖析,URTracker 2.11版 license验证原理剖析

【 tulaoshi.com - ASP.NET 】

注    :原创,转载请注明出处。
作 者:草惜草
首 发: 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
 
 正文:

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

好了,了解了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;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

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

来源:https://www.tulaoshi.com/n/20160129/1490444.html

延伸阅读
|声明模块: Option Explicit Declare Function GetUserName Lib "advapi32.dll" Alias _ "GetUserNameA" (ByVal lpBuffer As String, _ nSize As Long) As Long Private Declare Function WNetVerifyPassword Lib "mpr.dll" Alias _ "WNetVerifyPasswordA" (ByVal lpszPassword As String,...
排版标记 <!--注解-- ; <P ; <BR ; <HR ; <CENTER ; <PRE ; <DIV ; <NOBR ; <WBR ; ■ <!--注解--: ▲Top 像很多电脑语言一样,HTML 文件亦提供注解功能。浏览器会忽略此标记中的文字(可以 是很多行)而不作显示,一般使用目的: 为文中不同部份加上说...
XMLHttpRequest对象是当今所有AJAX和Web 2.0应用程序的技术基础。尽管软件经销商和开源社团现在都在提供各种AJAX框架以进一步简化XMLHttpRequest对象的使用;但是,我们仍然很有必要理解这个对象的详细工作机制。 一、 引言 异步JavaScript与XML(AJAX)是一个专用术语,用于实现在客户端脚本与服务器之间的数据交互过程。这一技术的...
标签: 鸡蛋 蒸鸡蛋
鸡蛋的营养剖析 鸡蛋的营养剖析        鸡蛋是自然界的一个奇迹,一个受过精的鸡蛋,在温度、温度合适的条件下,不需要从外界补充任何养料,就能孵出一只小鸡,这就足以说明鸡蛋的营养是非常完美的,鸡蛋被认为是营养丰富的食品,含有蛋白质、脂肪、卵黄素、卵磷脂、维生素和铁、钙、钾等人体所需要的矿...
第一步:点击忘记密码 通过登录界面点击“忘记密码?”;或通过自助页面自行找回,然后按页面提示操作即可。 第二步:进入安全中心 进入安全中心,输入账户名和验证码,再点击“下一步”; 第三步:验证身份 验证身份,选择验证方式(验证方式根据登录环境而定,分为身份验证、邮箱、手机、密保问题、密保卡)获取验证码,...

经验教程

813

收藏

45
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部