使用及开发加密狗需要注意的问题


加密狗的开发和研究
返回首页

      开发商的软件可能有多个模块,查狗的模块或接口不要用显而易见的名字来命名,这样会令解密者更容易找到加密点,当然也可以利用一些名字来迷惑解密者,尤其是dll,引出函数时甚至可以不用函数名。给查狗函数加入一定的随机性,例如,随机地执行某一API函数,或者在狗的存储区中划定一小块区域作随机读写,读写地址、读写内容、读写长度都是随机取的,这样可以很好地防止那些模拟工具。试用版与正式版要分开,试用版不提供的功能,代码已经删掉,使得不可能利用试用版破解得到正式版。在大多数情况下,破解是通过更改exe 或 dll 文件实现的,要在程序中检查exe或dll文件的完整性,即利用某种算法计算出整个文件的校验和,在程序中比较,如果文件被更改,校验和就会变化,这类算法网上有很多,可以查得到。另外,exe和dll之间要相互认证,一方面防止dll被替换,另一方面防止非法exe访问dll。所以总结下一些应该尽量避免的问题:不要将访问狗、做判断、提示用户写在一起;重要的字符串在程序中不要以明文出现;在狗中存放字符串,程序中读出比较容易;调用同一函数或判断同一个全局标志查狗;不要让试用版软件同正式版软件是同一份;查狗的模块或接口名字不能太明显;程序要随机性,不能每次运行执行路径都一样;必要时检查exe 或 dll 文件的完整性,确认exe 和 dll 之间也没有相互认证。