加密狗原理-高强度加密-程序加密技巧
  加密狗原理-高强度加密-程序加密技巧-加密工程师必读-凡高软件呕心力作

(转载指明www.flagsoft.com.cn)
2008年武汉凡高软件公司软件保护讲座


加密狗原理,加密狗加密的基本原理
本文将介绍软件加密加密狗原理,加密狗加密的基本原理的一些编程技巧,以及软件开发者将如何编写安全可靠 的代码,如何对付各种各样的加密狗破解,编写加密程序时应该尽量避免的一 些问题等等。

加密狗加密的基本原理
  开发商程序通过调用硬件加密狗的接口模块对硬件加密狗操作,硬件加密狗响应该操作并通过接口模块将相应数据返回给开发商的应用程序。开发商的应用程序可以对返回值进行判定并采取相应的动作。如果返回无效的响应,表明没有正确的狗,开发商可以将应用程序终止运行,或者让应用程序以错误的方式执行。
程序加密技巧1-如何提高加密强度
  下面,我们以Sentinel SuperPro加密锁为例,详细介绍一下程序加密技巧,使用如何在编程的过程中提高加密强度的方法。
  1、程序加密技巧1-反DEBUG解密的编程方法和技巧
  访问狗之后不要立即做判断,判断狗不正确后,不要立即提示,或者不提示。开发商在程序各个部分插入校验算法的代码,用以增加程序代码的复杂性,防止解密者轻易跟踪发现全部的校验代码。校验代码插入程序的频率越高,破解难度越大,软件就越安全。
  重要的字符串不要在程序中以明文出现,应该使用算法动态生成。
  在不影响程序效率的情况下,尽量多写一些查狗的函数,彼此要有区别,使用不同的算法,多一些查狗出错的标志,让这些标志参与运算,在不同的模块中,使用不同的查狗函数。
  针对某一具体查询校验,都有三步骤组成:查询得到响应串;比较响应串和查询串是否匹配;根据校验结果执行相应的步骤。建议三个步骤要延时执行。 好将三步骤相互远离些,甚至放到不同的子程序或函数中。例如:执行“查询得到响应串”后,相隔50行执行“比较响应串和查询串是否匹配”,假如程序需要调用一个函数。那么就在这个函数里执行“执行相应的步骤”。解密者在跟踪过程中,即使发现了其中一部分程序代码,但很难发现另外两部分代码和全部三部分之间的关联。程序难于被破解。
  将加密锁返回的“响应串”作为程序中的参数使用。例如:算法单元返回“响应串”是“87611123”,而程序中需要使用“123”这个参数。程序中得到“响应串”后,将“响应串”减去“87611000”得到参数。如果解密者修改代码跳过查询校验加密锁部分,参数将是错误值,从而会使程序运行紊乱。
  程序在验证加密算法过程中,一般情况下验证数据不正确程序就会选择退出。这样一来很容易被解密者发现代码特征,跳过查询校验部分。开发商设计查询校验部分时,如果程序校验数据不正确,程序也不退出可以继续执行一些无用的操作使程序紊乱,用以隐蔽代码迷惑解密者。
  开发商的软件可能有多个模块,查狗的模块或接口不要用显而易见的名字来命名,这样会令解密者更容易找到加密点,当然也可以利用一些名字来迷惑解密者,尤其是dll,引出函数时甚至可以不用函数名。
  给查狗函数加入一定的随机性,例如,随机地执行某一API函数,或者在狗的存储区中划定一小块区域作随机读写,读写地址、读写内容、读写长度都是随机取的,这样可以很好地防止那些模拟工具。
  试用版与正式版要分开,试用版不提供的功能,代码已经删掉,使得不可能利用试用版破解得到正式版。
  在大多数情况下,破解是通过更改exe 或 dll 文件实现的,要在程序中检查exe或dll文件的完整性,即利用某种算法计算出整个文件的校验和,在程序中比较,如果文件被更改,校验和就会变化,这类算法网上有很多,可以查得到。另外,exe和dll之间要相互认证,一方面防止dll被替换,另一方面防止非法exe访问dll。
  提高加密强度小结:应该尽量避免的问题
  1)访问狗、做判断、提示用户写在一起
  2)重要的字符串在程序中以明文出现
  3)在狗中存放字符串,程序中读出比较
  4)调用同一函数或判断同一个全局标志查狗
  5)试用版软件同正式版软件是同一份
  6)查狗的模块或接口名字太明显
  7)程序无随机性,每次运行执行路径都一样
  8)没有检查exe 或 dll 文件的完整性,exe 和 dll 之间也没有相互认证

高强度加密,程序加密技巧2
  2、反“监听仿真”软件保护锁的编程方法
  1)随机查询法:开发商使用SuperPro开发工具生成大量查询、响应对,如:1000 对,并在程序中使用这些校验数据。在程序运行过程中,从1000 对查询、响应对之中,随机的抽出其中一对验证SuperPro加密算法。因为,校验数据很多,每次验证加密算法使用的“查询响应对”可能不同,“监听仿真”软件即使纪录了一部分“查询响应对”,但无法纪录全部“查询响应对”。软件每次运行时,都可能使用新的查询响应校验数据,“监听仿真”软件无法响应这些新的查询。因此,“监听仿真”也就失去了模拟、仿真SuperPro软件保护锁的作用。
  2)延时法:开发商可以事先使用开发工具生成大量的校验数据,即:“查询、响应”对,比如:200000 组“查询、响应”对,开发程序过程中,开发商设计定时查询、校验加密锁的机制。在程序运行过程中,每10分钟查询并校验加密锁一次,使用过的校验数据,4年内不再重复使用。即使监听软件24小时记录数据,也需要4年才能纪录完毕。4年后,软件早已过了“热卖期”了,使用监听软件的解密者也就失去了行动意义。
  3)分组、分时法:开发商可以在程序中把查询响应对分组,比如:1200 对校验数据可分为12组,每100对一组。程序在一年中的第一月使用第一组校验数据,第二月使用第二组校验数据,以此类推。监听软件就算记录了第一月的校验数据,第二个三个月以后校验数据没有纪录,在以后的时间段软件仍然无法正常使用,从而“监听仿真”失去意义。
  4)随机噪声数据法:开发商可以在程序中随机产生查询数据,随机数据和真实数据混合在一起,监听软件即使记录了查询数据,也会被其随机性所迷惑,同时也无法仿真另一个次软件运行产生的随机数,加密软件也就无法破解。
  注:本文部分内容来源于彩虹加密锁Sentinel SuperPro的使用说明文档以及相关技术文档整理而成。
 
加密狗原理-高强度加密-程序加密技巧
金雅拓 (Gemalto)通过收购赛孚耐SafeNet成为软件货币化市场的 者,我公司所售赛孚耐SafeNet加密狗产品的序列号均为 序列号,SafeNet加密狗加密锁产品关键部件是采用非通用芯片可以防止克隆复制的,可提供30天免费测试。
公司有多名专业加密技术工程师,可随时为您售前售后服务,客户二次开发及特殊技术要求我们可以和SafeNet高级工程师为您现场服务。产品三包:7天包退换,非物理损坏1年免费更换,1年免费服务
          加密狗-加密锁-软件保护产品
·加密狗报价-软件保护-加密锁购买价格
·圣天狗SHK-软件保护加密标准-简单又安全
·圣天诺HASP HL-世界上 安全可靠的加密锁
·宏狗-自定义算法的加密狗
·微狗-高性价比 多使用的硬件加密狗
·软件狗-单机版软件硬件加密的低价格
·圣天诺超强锁SuperPro+
·圣天诺奥强锁UltraPro
·圣天诺RMS-完整的许可证管理解决方案
·sentinel LDK 6.x软加密许可证授权管理
·HASP-MaxMicro 小的的硬件加密锁-工控机
·HASP SL基于软件的产品激活授权解决方案
·超级狗SuperDog易用无驱专用芯片-本地化
·视频加密狗产品介绍
·视频加密狗技术参数
·视频加密狗操作演示
·加密狗 新驱动程下载赛孚耐SafeNet官方
          iKey 身份认证令牌 USB Key
·iKey1000 个人双因素身份认证 USB Key
·iKey2032基于PKI双因素身份验证Win和MAC
·iKey4000 先进的身份认证USB令牌
·eToken 5100(Pro72K)电子身份认证
·eToken PASS 一次性密码令牌
·DataSecure 给数据库加密的软件
·SafeNet数据加密工具解决方案
·硬盘加密工具 ProtectDrive
·文件和文件夹加密-ProtectFile
·U盘加密ProtectPack压缩存档加密软件
·SafeNet信息安全绝对 者-成功案例
技术咨询 电话:027-87153162
技术咨询 QQ  258299995,258300138
售后服务 QQ  258298351 阳小姐

给我发消息

杨先生:15586906122

给我发消息 阳小姐:13396065129
     Email邮箱  89010286@qq.com  
    [查看公司详细地址-乘车路线-地理图片]
 


版权所有:湖北省武汉金雅特(原武汉凡高软件公司) 地址:武汉市武珞路丁字桥南方帝园A座2105
Copy Right (c)1996-2015 flagsoft.com.cn All right reserver 电话:027-87153162 Email:89010286@qq.com