通过生成序列号防止软件拷贝的基本思路

软件产品卖出去以后,如何防止客户在多台电脑上重复安装呢?最偷懒的方法就是使用别人的硬件加密狗解决,但是这样的话一来随着销售量的积累会增加成本,二来很多客户不想在电脑上插如此多的加密狗(因为其他的软件可能也需要用加密狗,会导致USB接口紧张)。

那我们还可以通过软加密的方式,即唯一序列号的形式,来代替硬件加密狗。

 

基本思路如下:
1. 在前期给客户安装的都是试用版本。试用形式分为三种:A. 时间限制;B. 次数限制;C.功能限制。
2. 客户在安装完软件后,在安装目录下将服务器的硬盘ID(或者CPUID)按照算法A加密,这里我们称其为机器码,保存在特定的文件里,比如可以取名为machine.usr。
3. 客户将machine.usr发送给软件生产商,软件生产商将machine.usr导入到序列号生成器当中,将机器码按照算法B生成唯一的序列号,将序列号传回给客户。
4. 客户在程序中输入该序列号,程序对序列号进行核对,如果序列号与程序算出的相同则升级成正式版。

 

至此,我们前期需要准备的事情大致如下:

1. 生成机器码的加密算法。
2. 生成序列号的加密算法。
3. 时间限制时用来判断过期的方法。

 

有没有方法能够脱离服务器自己记录使用时间的,一般都是读取计算机本地时间源,但这种方式很容易被钻空子,即使你将安装和使用时间写入注册表,依然可以轻松破解。对于判断过期的方法,暂时没有好的思路,也许有完美的方法,但我还没掌握到。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值