Licensing systems in .NET
Abstract
A key validation algorithm is one of the important parts in the protection of a computer application. Even if an already existing API is to be used, it is important to understand its weaknesses in order to compare it with alternative ones. Therefore, in this article, three different categories will be described with clear definitions that will make it possible to distinguish between them and allow an analysis of currently existing APIs. Every category is accompanied with examples and in some cases suggestions for further development. The categories described in this article are Checksum based key validation, Pattern based key validation, and Information based key validation. It is going to be found that the choice of a key validation system depends on the information that is to be stored in the key. It is also concluded that at this point it would be better to use online key validation instead.
Introduction
The problem of finding the appropriate licensing system might not seem that important when developing applications of different kinds. Usually, we focus on making the actual application as good as possible and leaving the licensing system to the end. However, if the protection against illegal use is important, licensing systems of different kinds have to be considered.
There are at this point at least three ways of protecting computer application. The first way is to use an already existing service like Windows Store. The second way is to use already existing APIs. The third way is to build your own system.
In this article, I would like to describe three different ways of constructing your own key validation algorithm that works without internet connection, and at the same time convey the weaknesses of each of them. Even if you are not going to build your own algorithm, one of the aims of this article is to give the ability to analyse key validation algorithms once you know what group they are from. For this purpose, every section contains a strict definition of a given system, so that when you have found an already existing API, you can spot which group it belongs to and thus get to know its weaknesses.
Note: This article was converted from LaTeX to HTMl so there might be something missing. In this case, please refer to the original article in PDF.
- Delphi XE5 实现Android启动不黑屏[增加登陆界面]
- Delphi XE6 修改ListBox文字颜色
- Delphi XE6 修改Memo背景颜色
- Delphi XE6 取得APP自己的版本号(横跨4个平台)
- Delphi XE5_Android实现界面滑动切换panel动画效果代码
- dhtmlxGrid v3.6 build 20131023 解决IE11兼容性的问题
- 关于Delphi XE5移动开发文件很大的问题。
- Delphi XE5开发的Android手机截屏功能
- Delphi XE5 IOS开发图标显示数字的功能
- Delphi XE5软件安装和Android真机调试过程