浅谈软件加密技术和注册机制

 

    公司前一段时间在研究加密狗,即使用硬件技术加密软件。对于加密软件我也有自己的一些想法,今天和大家来聊聊!

        首先来简单介绍一下加密技术,主要包括算法加密和密匙加密。算法加密时基于算法的保护,即一旦算法泄露,信息也就泄露了;密匙加密是基于密匙的保护(包括对称加密和非对称加密),即算法可以公开,但密匙泄露,信息就会泄露!

        重点介绍一下我所了解的软件注册机制,目前流行的软件注册机制主要包括以下几种:

1.       基于KEY文件

KEY文件是一种利用文件来注册软件的保护方式,试用版软件没有注册文件,当用户向作者付费注册之后,会收到作者寄来的注册文件,其中可能包含用户的个人信息。

实现方法:首先写入用户信息,然后将用户信息运算后生成的注册码写入文件。程序运行时读取文件信息并进行匹配;

2.       时间限制

时间限制是一种使得用户只能在有限的时间或有限的次数使用软件,超过使用期限则无法使用。

实现方法有两种:a. 在程序中加一个定时器(限制使用时间) b.使用注册表(限制使用次数和时间)

3.       序列号保护

这种方法一般依赖于程序员的变成技巧。用户想使用软件,首先需要将自己的注册信息发送给开发商,然后开发商会给用户发送一个注册码,用户注册后便可以使用软件.

实现方法:将用户发送来的信息(例如:用户名,Email等),组合并进行一定量的加密演算生成注册码;

4.       CD核查

主要应用于光盘发布的程序,如果光盘中不存在指定的文件或文件中内容不对应,软件将不能运行。

实现方法:首先获取所有的磁盘序列号,然后遍历序列号,找到光盘驱动号,然后再在其中查找指定的文件;

5.       加密狗

    它是一个安装在并口、串口等接口上的硬件电路,同时有一套使用于各种语言。接口软件和工具软件。软件运行时会想加密狗发送指令,如果收到响应,软件就可以 正常运行;若用户将加密狗拔出,程序就收不到响应,相应的软件不能运行。适用于比较有商业价值的软件。

    实现方法:通过加密狗的语言接口进行编程通信,可以使用一些特定的信息与加密狗交互;

6.       软硬结合

这种方法可以限制用户端软件的安装,即每一个序列号只能匹配某一台电脑,其他电脑安装则不可。软件加密虽然加密强度比硬件方法较弱,但它具有非常廉价的成本、方便的使用方法等优点。

实现方法:获取pcCPU序列号、网卡序列号或硬盘序列号等信息,将这些信息通过一定的算法运算生成注册码,注册码是动态生成的,不可伪造的。

         针对以上方法,可以做一个注册机,专门用来生成注册码、注册文件等相关信息。目前我实现了其中的一部分,欢迎有兴趣的朋友一起探讨!如果你把这篇文章从头看到尾,那我只能说两字:谢谢!

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值