精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● 计算机安全>>◆加密原理◆>>软件的电子注册机制

主题:软件的电子注册机制
发信人: williamlong(蓝色月光)
整理人: williamlong(2002-07-10 19:57:53), 站内信件

一、软件注册机制简介

    软件加密的方法主要包括两种:硬件方法和软件方法。硬件方法一般是使用并口设备(软件狗)或是不标准的软盘(加密盘)。软件的方法是通过注册来完成的。软件加密虽然加密强度比硬件方法较弱,但它具有非常廉价的成本、方便的使用方法等优点。非常适合做为采用光盘(CDROM)等方式发授软件的加密方案。

    软件注册的第一个方法是提供用户一个由用户名生成的注册码(公司名可选)。现在软件可以为注册用户使用了。用户可以把软件给其他人使用,但用户名和公司名是无法修改的。

    这个办法是在报表上打印和在屏幕上显示最后的用户名和公司名,在证券公司,发票上有程序所打印的公司名,这样即使非法用户拷贝到程序,也无法使用。

    现在,问题变成:生成一个基于字符串的唯一值,只要串发生改变,就会引起代码运算出一个不同的值。

    解决的办法是使用程序名、用户名、公司名以及版本号作为运算字符串。如果没有输入公司名,就用缺省值代替,这样做的问题是会引起程序含混。

下一个软件注册的加密强度稍强一些,具体方法是软件根据微机硬件参数给出该软件的序列号;用户需要把这一序列号用Email、电话或邮寄等方法寄给软件提供商或开发商,软件开发商利用注册机(软件)产生该软件的注册号寄给用户即可。
优点
• 不同机器注册码不同。用户获得一个密码只能在一台机器上注册使用软件。不同于目前大多软件采用的注册方法,即只要知道注册码,可在任何机器上安装注册。 
• 不需要任何硬件或软盘 
• 可以选择控制软件运行在什么机器、运行多长时间或次数等 
• 可让软件在不注册前的功能为演示软件,只能运行一段时间或部分功能。注册后就立即变为正式软件 
• 采用特别技术,解密者很难找到产生注册号码的规律 
• 在使用注册号产生软件(注册机)时可采用使用密码、密钥盘、总次数限制等方法,使您了解您究竟卖出了多少套软件,避免内部员工的作弊 
• 方便易用,价格低廉。 
二、加密函数及使用方法

int Testkey(int Idate,int Ok_No);
//检测软件是否注册并提供注册的函数
//参数:
Idate 软件不注册可试用的天数,最大值为 99
Idate<=0 时软件不提供试用功能
Ok_No=0 时,试用期过后,把系统时间改回来,可继续试用
Ok_No!=0 时,试用期过后,把系统时间改回来,也不能使用

//在试用期间,为防止用户始终修改系统时间后,再运行程序。
//模块中同时对软件使用次数进行了限制,若超过限制次数 5*Idate,
//软件同样不能运行,您可根据您软件使用的频率要求设置限制的次数

//已注册或注册密码正确返回值为 0
//没注册但软件使用天数不多于 Idate 天,返回值也为-2。
//可根据该值设定软件只能运行部分功能。
//其余情况返回值为 -1。

1、在软件中调用检测软件是否注册的函数 Testkey(Idate, testlock, Ok_No),返回值为零,说明软件已注册,软件可继续运行;否则软件没有注册,应中断您的软件。建议在软件刚启动时就调用这个函数。

2、软件最终用户需把软件运行时提供的序列号,寄给软件出版商换取注册密码。

三、加密注册的特点

1、注册加密的软件,只能在一台机器上安装使用。把软件拷贝到其它机器上不能运行。

2、若用户想在另一机器上安装运行,必须把软件在这一机器上运行时的序列号,寄给软件出版商换取注册密码。当然应再交一份软件费用。

3、此加密方法特别适应在因特网上发布的软件及用光盘发布的软件。




----

        

[关闭][返回]