使用加密狗进行程序的加密保护是非常成熟的加密方案。目前市面上比较常见的加密锁:深思的精锐5,威步,safenet。国内比较老牌的加密锁公司是深思,深思的锁从精锐4,到现在的精锐5,都是比较不错的产品,加密安全性高,使用体验好,性价比高,比较推荐这一款。
如何用加密狗加密程序流程:
1、 获取加密SDK包。
2、 使用加密狗配套的加壳工具对程序直接加壳。
3、 使用控制锁和写锁工具制作配套使用的用户锁。
4、 发给用户加密后的程序及配套用户锁。
加密锁授权管理
精锐5系列的加密锁可实现软件的授权管理、远程升级等功能。
1. 限时限次功能。软件按订阅式销售,订阅到期可通过远程升级的方式升级软件许可。
2. 网络锁功能。局域网内实现服务器一把锁,同一局域网下其他电脑也可使用软件。
3. 限功能模块。限制软件的不同的功能模块销售。
加壳工具对程序加密流程
直接将带加密的程序的exe或者dll直接拖到加壳工具中,选择要加密的函数,同时选择保护方式。Virbox Protector加壳工具对函数的保护方式有四种:代码虚拟化/代码混淆/代码碎片化/代码加密。
代码碎片化是深思自主知识产权的最新技术:基于 LLVM 和 ARM 虚拟机技术,自动抽取海量代码移入 SS 内核态模块,极大的降低了使用门槛, 不再需要手动移植算法,可移植的算法从有限的几个增长到几乎无限多,支持的语言也不再限于 C, 这是加密技术的一次综合应用,效果上类似于将软件打散执行,让破解者无从下手。安全度高、建议关键函数或调用加密锁方法;使用太多会影响效率。
代码加密,将代码块作为数据,用许可加密函数存储, 程序执行到该函数时验证许可并解 密,内存中不会暴露完整的代码块。
代码虚拟化:针对X86代码: 是指将机器代码翻译为机器和人都无法识别的一串伪代码字节流;在具体执行时再对这些伪代码进行一一翻译解释,逐步还原为原始代码并执行。 这段用于翻译伪代码并负责具体执行的子程序就叫作虚拟机VM(好似一个抽象的CPU)。它以一个函数的形式存在,函数的参数就是字节码的内存地址。 由于虚拟机代码和虚拟机CPU的实现可以做到每次都是随机设计和随机执行 并且代码每次可以随机变化,包括一些逻辑上的等价变化可以参考硬件N个与非门NOT-AND实现各种逻辑门,算法和访问内存形式的变化,包括数学上的非等价变化,代码体积几乎可以膨胀达到100到10000倍,造成机器无法做算法还原到原有逻辑。代码虚拟化的特点是:安全度中、不会影响效率。
转载于:https://blog.51cto.com/senseshield/2406901