一个后处理的制作周期多则数周甚至更久,特别是上机运行无误的后处理尤其珍贵。其后处理的制作者自然不想将辛苦所得拱手让旁人获取,于是后处理加密技术应运而生。我们先来看看目前常见的几种加密手段: tcl加密:可以有效的保护tcl代码。缺点是后处理文件可以被复制传播。 限制使用:通过文件/注册表/文件属性等等进行限制,或者通过时间限制使用期限。缺点是针对以上的方式都有办法直接或通过工具破解。 绑定:通过logname/MAC地址对主机信息绑定。缺点是以上信息可以被轻易修改,使绑定无效。 本文将介绍一种通过生成原机器码(申请码)—加密—加密后机器码(注册码)验证的方式,更加安全有效的保护后处理文件,实现一机一码,使后处理具有不可复制性。 1.原机器码的生成 完全依靠脚本语言生成机器码,多样化的组合方式难以出现两机同码的现象。 作者在这里选用了win安装日期+CPU IP+硬盘序列号的方式。即使克隆系统也难以出现两机同码。 下图为作者的原机器码。
2.对原机器码加密 采集到原机器码后,对原机器码进行多层加密处理,例如栅栏,凯撒,希尔矩阵等。亦可完全自定义密钥,如何去加密完全掌握在自己手中。 下图为作者经过两层加密得到的密文,在这里称作注册码
[栅栏密码]部分代码示例: - ……
- set codelist [split $result {}]
- set halfnum [expr int([llength $codelist]/2)]
- set 1half [lrange $codelist 0 $halfnum]
- set 2half [lrange $codelist $halfnum [llength $codelist]]
- set machinecode ""
- foreach i $1half j $2half {
- append machinecode $i$j
- }
- ……
以上为双行栅栏,具体使用时建议用多行栅栏,加密强度更高。 3.机器码验证 对加密后机器码进行验证,验证成功则可永久使用,验证失败则需重新验证。 验证过程大致为生成原机器码--加密运算--对比加密后机器码。
4.脚本文件完全加密 这个自不必多说,源代码不加密一切等同于儿戏。
动态效果:
|