当前位置: 免费硬盘 >> 免费硬盘发展 >> 如何保护开发的应用软件
您的团队或您个人辛辛苦苦开发的软件,如果不是免费提供给广大用户使用,一般都会进行保护,如要求使用者注册、配置加密锁、使用特定的动态文件等方式进行。
保护软件的方式很多,我认为软件注册和验证相结合的方式是成本最低、最有效的方式之一,下面,就根据我的经验,介绍一下这个方法。
首先,进行验证,就需要一个验证码和存放验证码的服务器或网络数据库。验证码就选择与机器硬件相关的序列号之类的,如硬盘序列号、网卡的MAC地址等等,这样机器硬件的特征是进行验证的唯一特征,可以限定唯一的一台机器。也可以用机器的IP地址信息,以限制软件在特定地区的使用。
其次,验证不能过于固化,让用户没有选择的余地,如你的软件很贵,客户就是想购买一个产品,供大家使用,则可以采用限制同时使用的数量进行控制,如不能同时启动5个,只能同时启动2个等等。
第三,开发一个软件,通过这个软件去启动要保护的软件,这样您就能一劳永逸地用这个软件进行控制。开始应用软件唯一需要做的,就是通过配置文件的一个中间变量,与保护软件进行交互,来达到互相制约的目的。
本文将详细讲述这个方法。
一、保护软件
本人采用VS的VC++,开发了一套控制授权软件系统,经过使用,效果非常不错。之所以选择VC++,是因为VC++编译后的应用程序,被反编译破解的成本很高,一般人不会为有个几千元的软件去花费更大的成本去破解。另外VC++操作硬件获取硬件信息较其他语言更为方便。本将编制的这个保护软件称之为“保护软件”
本人采用的是获取硬盘序列号及网卡的MAC地址序列号,然后对序列号进行运算截断后形成该机器的特征值作为验证码。
二、网络验证
在公司网站或云数据库,建立一个数据验证表,该表存储用户注册信息。我采用的方式是,用户初次使用时,自动在数据库中进行注册,并能使用3天,超过3天,再需要在本机使用时,就需要注册,这样用户就能即注即用。
三、对被保护软件的开发要求(以下称为“应用软件”)
1、应用软件设置为不能自行启动,需要设置用“保护软件”才能启动。具体做法是:软件注册成功后,在特定的配置文件中,在某个约定的键值中写入特定的字符串,供应用软件读取,读取成功后启动,不成功则提示不能启动。
2、进行数据校验的设置:应用软件设置一定的时间连接数据库,进行注册效验,这样能应用软件的使用权得到保护。
3、对应用软件的功能使用频率进行统计,具体做法是,用户没启动一次该功能,数据库对应的记录就自动增1,以便统计哪些人对哪些功能使用的多,通过和这些客户进行交流,从而为这些人提供更好的服务,开发更多的功能。统计如下图样式。
四、使用案例
1、建立应用程序的文件夹,并保护软件(DDstart及配置文件)考入文件夹中,并在文件夹内建立子文件夹,这里是V文件夹,也可以是另外名字的任意文件夹。如图:
将应用程序部考入这个子文件中,如,全部考入V中,然后,并对INI文件进行如下设置:
ProgramPath=设置程序运行的完整路径名
RunProgram=设置受控应用程序名
ProgramIniF=设置受控应用程序配置文件
NewProgram=设置受控应用程更新文件
ProgramPver=设置受控应用程序版本
如:受控程序是ZLManage.exe,在ZLglData目录下,则设置情况如下:
然后,执行DDStart程序,出现如下注册界面
填写完上述信息后,点击《确定》按钮,如果是初次应用本程序,则直接进入3天的试用期,并出现如下提示界面:
应用程序的运行主程序启动成功后,本程序退出内存,将控制权交给受控的应用程序。
当应用程序使用到期后,运行时会再次出现注册,就需要软件作者的授权才能使用了,从而保护了软件作者的权益。