软件保护的概念是站在开发商的角度出发的,它强调的是利用以加密为主的技术手段保护软件不被破解。从理论上说,只要拥有足够的资源和时间,所有的软件保护技术都可以被破解。但是,如果一种保护技术的安全强度达到了让破解者付出比购买软件还要高的成本,这种保护技术就是成功的,值得使用。
常用的软件保护方式一般分为软加密和硬加密两种。软加密一般采用与计算机硬件特征绑定的电子许可证形式。硬加密主要是指加密狗或加密锁。传统的使用电子许可证和加密锁保护软件的方案一般并不包括授权和用户管理的功能,软件开发商往往需要自行开发初始化。