.NET 下制作 Shareware 的关键技术探讨一:Licensing
2004-08-20 08:43
357 查看
制作 Shareware 有三个关键点:
如何保护对象(程序),在创建对象的时候检测许可证 (License)。
加密/解密 用户信息和注册信息。
程序加扰 (obfuscate) 或者程序加密,反破解。
.NET 为前两者提供了基本支持,非常方便。这里先说检测许可证。许可证可以有通用注册码、验证用户名的注册码、验证用户机器的注册码等形式。当用户花钱购买了 Shareware 程序,Shareware 程序拥有者就会发送注册码给用户。(Share-It 有在线注册码生成功能,一收到钱立即自动生成注册码)。
Shareware 程序运行时要检测和验证用户是否具有有效的注册码,以决定用户是否能执行程序。
.NET 下的程序都是面向对象的,所以 .NET 在对象的创建机制上,提供了许可证检测的一个接口,Shareware 程序开发可以在此基础上加入自己的注册码验证算法。
.NET Licensing 一文介绍了许可证检测的办法:
[LicenseProviderAttribute(typeof(LicFileLicenseProvider))]
public class LicensedClass : IDisposable
{
private License license = null;
public LicensedClass()
{
license = LicenseManager.Validate(typeof(LicensedClass), this);
Console.WriteLine("Hello from the licensed class.");
}
public void Dispose()
{
if (license != null)
{
license.Dispose();
license = null;
}
}
}
有了这么个结构,程序开发可以把检测许可证交由 .NET 完成,而自己集中精力设计如何验证注册码。把上面的 LicFileLicenseProvider 换成自己的 Custom LicenseProvider。比如,不读文件而去读注册表,见:CodeGuru: Licensed Applications using the .NET Framework 。我的一些文章收藏 (RSS格式) 。
不论是从文件或者从注册表得到注册码,它包含了户是否可以运行程序的信息,而且它一定是只能 Shareware 程序拥有者说了算。因此这个信息是必须加密的。
.NET 提供了非对称加密 (Asymmetric Cryptography) 工具可以用来处理注册码。下一篇文章里继续介绍。
如何保护对象(程序),在创建对象的时候检测许可证 (License)。
加密/解密 用户信息和注册信息。
程序加扰 (obfuscate) 或者程序加密,反破解。
.NET 为前两者提供了基本支持,非常方便。这里先说检测许可证。许可证可以有通用注册码、验证用户名的注册码、验证用户机器的注册码等形式。当用户花钱购买了 Shareware 程序,Shareware 程序拥有者就会发送注册码给用户。(Share-It 有在线注册码生成功能,一收到钱立即自动生成注册码)。
Shareware 程序运行时要检测和验证用户是否具有有效的注册码,以决定用户是否能执行程序。
.NET 下的程序都是面向对象的,所以 .NET 在对象的创建机制上,提供了许可证检测的一个接口,Shareware 程序开发可以在此基础上加入自己的注册码验证算法。
.NET Licensing 一文介绍了许可证检测的办法:
[LicenseProviderAttribute(typeof(LicFileLicenseProvider))]
public class LicensedClass : IDisposable
{
private License license = null;
public LicensedClass()
{
license = LicenseManager.Validate(typeof(LicensedClass), this);
Console.WriteLine("Hello from the licensed class.");
}
public void Dispose()
{
if (license != null)
{
license.Dispose();
license = null;
}
}
}
有了这么个结构,程序开发可以把检测许可证交由 .NET 完成,而自己集中精力设计如何验证注册码。把上面的 LicFileLicenseProvider 换成自己的 Custom LicenseProvider。比如,不读文件而去读注册表,见:CodeGuru: Licensed Applications using the .NET Framework 。我的一些文章收藏 (RSS格式) 。
不论是从文件或者从注册表得到注册码,它包含了户是否可以运行程序的信息,而且它一定是只能 Shareware 程序拥有者说了算。因此这个信息是必须加密的。
.NET 提供了非对称加密 (Asymmetric Cryptography) 工具可以用来处理注册码。下一篇文章里继续介绍。
相关文章推荐
- .NET 下制作 Shareware 的关键技术探讨二:非对称加密[yysun]
- Linux系统启动盘制作关键技术的探讨
- 利用.NET绘图技术制作水晶按钮控件(转)
- C#使用WebBrowser制作网页游戏辅助工具关键技术分析
- 自己制作软键盘的几个关键技术解析
- 利用.Net绘图技术制作水晶按钮控件
- 利用.Net绘图技术制作水晶按钮控件
- 精简版系统制作的关键技术
- 深入探讨.NET中的钩子技术
- 使用.NET技术制作KTV点歌项目,新手篇
- 一起谈.NET技术,ASP.NET 项目安装包制作(三)补充说明
- 探讨.NET中的钩子技术
- 一起谈.NET技术,Silverlight 游戏开发小技巧:传送点特效制作
- 学习FLASH制作动画的关键技术点
- C#使用 WebBrowser制作网页游戏辅助工具关键技术分析
- 大数据关键技术探讨
- 深入探讨.NET中的钩子技术
- 一起谈.NET技术,ASP.NET 项目安装包制作(二)数据库安装、其他组件的安装
- 利用.NET绘图技术制作水晶按钮控件
- 一起谈.NET技术,Silverlight 游戏开发小技巧:冲击技能特效制作