月光博客

青青子衿, 悠悠我心, 但为君故, 沉吟至今

« 国内软件加密锁产品评测软件加密锁编程技巧 »

软件加密狗破解思路和方法

  本文介绍的是软件加密狗破解的一般思路和方法,大家可能奇怪,昨天刚刚介绍完“软件加密锁产品评测”,怎么今天就介绍加密狗破解知识?其实做为软件开发者,研究好软件加密的确很重要,不过也很有必要多了解一些关于加密狗解密和破解的知识,加密和破解就像矛和盾一样,对于解密知识了解的越多,那么编写的加密代码就越好,要知道加密永远都比解密要容易的多,只有知己知彼,方能百战百胜。

  硬件加密锁,俗程“加密狗”,对于加密狗的破解大致可以分为三种方法,一种是通过硬件克隆或者复制,一种是通过SoftICE等Debug工具调试跟踪解密,一种是通过编写拦截程序修改软件和加密狗之间的通讯。

  硬件克隆复制主要是针对国产芯片的加密狗,因为国产加密狗公司一般没有核心加密芯片的制造能力,因此有些使用了市场上通用的芯片,破解者分析出芯片电路以及芯片里写的内容后,就可以立刻复制或克隆一个完全相同的加密狗。不过国外的加密狗就无法使用这种方法,国外加密狗硬件使用的是安全性很好的自己研制开发的芯片,通常很难进行复制,而且现在国内加密狗也在使用进口的智能卡芯片,因此这种硬件克隆的解密方法用处越来越少。

  对于Debug调试破解,由于软件的复杂度越来越高,编译器产生的代码也越来越多,通过反汇编等方法跟踪调式破解的复杂度已经变得越来越高,破解成本也越来越高,目前已经很少有人愿意花费大量精力进行如此复杂的破解,除非被破解的软件具有极高的价值。

  目前加密锁(加密狗)的解密破解工作主要集中在应用程序与加密动态库之间的通讯拦截。这种方法成本较低,也易于实现,对待以单片机等芯片为核心的加密锁(加密狗)具有不错的解密效果。

  由于加密锁(加密狗)的应用程序接口(API)基本上都是公开的,因此从网上可以很容易下载到加密狗的编程接口API、用户手册、和其它相关资料,还可以了解加密狗技术的最新进展。

  例如,某个国内知名的美国加密狗提供商的一款很有名的加密狗,其全部编程资料就可以从网上获取到,经过对这些资料的分析,我们知道这个加密锁(加密狗)有64个内存单元,其中56个可以被用户使用,这些单元中的每一个都可以被用为三种类型之一:算法、数据值和计数器。

  数据值比较好理解,数据值是用户存储在可读写的单元中的数据,就和存储在硬盘里一样,用户可以使用Read函数读出存储单元里面的数据,也可以使用Write函数保存自己的信息到存储单元。

  计数器是这样一种单元,软件开发商在其软件中使用Decrement函数可以把其值减一,当计数器和某种活动的(active)算法关联时,计数器为零则会封闭(deactive)这个算法。

  算法单元较难理解一些,算法(algorithm)是这样一种技术,你用Query(queryData)函数访问它,其中queryData是查询值,上述函数有一个返回值,被加密的程序知道一组这样的查询值/返回值对,在需要加密的地方,用上述函数检查狗的存在和真伪。对于被指定为算法的单元,软件上是无法读和修改的,即使你是合法的用户也是如此,我理解这种技术除了增加程序复杂性以外,主要是为了对付使用模拟器技术的破解。

  此加密锁(加密狗)的所有API函数调用都会有返回值,返回值为0的时候表示成功。

  因此,破解思路就出来了,就是使用我们自己的工具(如VB、VC等)重新编写构造一个和加密狗API一样的DLL动态库文件,里面也包含Read、Write等全部API中包含的函数,使用的参量及返回值和原来的函数一样,所有函数返回零。然后对Query、Read函数进行处理,返回应用软件需要的数值即可。

  这个新的DLL文件编写成功后,直接替换掉原来的DLL文件,这时候再运行应用软件,软件访问加密狗的操作就全部会被拦截,拦截程序永远会返回正确的数据给软件,从而实现了模拟加密狗的运行。

  以上是目前破解软件加密狗(加密锁)的一些常见思路,对于这种破解,软件开发者还是有相应的一些对策的,下一回我将在《软件加密锁编程技巧》一文中具体介绍一下软件开发者将如何编写安全可靠的代码,使得这种类似的破解方法失效。



原创文章如转载,请注明:转载自月光博客 [ http://www.williamlong.info/ ]

本文链接地址:http://www.williamlong.info/archives/706.html
  • 文章排行:
  • 1.haodoit
  • haodoit.com/
  • 说的好,通俗易懂。
    三种方法都见过。
    最早见的是软件模拟硬件加密狗的,然后小型软件多用反汇编破解的,也见过很多商业软件是用第三种方法,也是干的最干净漂亮的方法。
  • 2006-11-29 9:49:38   回复该留言
  • 2.java007
  • 有一个PKPM的软件,有USB狗,我看了作者的分析,也挺感兴趣,只想学习研究用,不知作者能否从DLL这方面给点具体建议(软件安装程序中有很多DLL,如何找到核心DLL)。我想拦截是一个不错的思路吧。QQ:443731038 请赐教。
  • 2006-12-15 20:54:42   回复该留言
  • 3.ylz2004
  • DLL仿真是个不错的办法,但有一点你说的不太正确
    “直接替换掉原来的DLL文件”这是没错,但还需要将原DLL改名,原因是你自己的DLL不包含与狗的通讯代码,想要记录数据的前提是先要保证软件通过DLL可以与狗正常通讯,可以正常运行。

    还有一点,现在国内的智能狗产品(S4,R5,R6)虽然也有可能用到DLL这种方式,但是因为狗内代码量的提高(可将算法完全放入),那么,在用DLL抓取到数据时已经没有了意义,因为输入输出数据完全可以做到不重复,那么,除非反推出算法,用码表法对付这种狗已经不太可能了。


    楼主接触的产品只能说还是太少了
  • 2007-4-4 16:23:25   回复该留言
  • 4.模拟加密狗
  • 谁TMD发明的 模拟加密狗?
    无聊生是非...
  • 2007-5-17 18:36:58   回复该留言
  • 5.xxxx
  • 13楼的说的完全正确。对于深思IV,飞天5、6,这种智能狗,由于可在内部放入复杂的算法,替换DLL的办法几乎不可能。我选用深思IV,飞天5、6这种智能狗为国内个多个大型、流行软件作加密系统,全国破解者疯狂破解,毫无结果。根本不怎么用花架子,在狗内部放入复杂的数值计算。任你什么脱壳、拦截、替换、模拟、hook,爱怎么随你,我不和你白费口舌。楼主的办法对于专业的加密人来说,只能是历史故事。时代变了,大家学习一点新的东西,不要像在大学,学习一些基本的、甚至过时的东西。破解加密狗,碰上我做的加密你就自认倒霉。
  • 2007-5-23 22:01:46   回复该留言
  • 6.加密狗破解
  • 寻求加密狗破解大师帮忙
  • 2007-7-15 19:18:45   回复该留言
  • 7.渔民
  • 软件本身就是告密者~~~~谁说的想不起来了!
  • 2007-7-20 18:47:38   回复该留言
  • 8.凑个热闹

  • 我也是SAFENET代理。看了大家的讨论(我从来就鄙视诋毁他人抬高自己的人和事,暂且把有些帖子说成讨论)够热闹的,也想凑个份子。想到什么就随便胡说两句,欢迎拍砖!!
    过去、现在和未来我们都在说“为人民服务”,高调谁都会讲,让你天天高喊着口号饿肚子哥们你会怎样?!所以为人民服务的前提是首先能够生存!
    不管你承认与否!现在生意场大家都在追求高利润和高回报(人的贪婪呀!),而我们看到的10元的加密产品或更低价格的东西,选用的人你自己算一下,它有如何的好就一目了然了。产品从研发到成品到使用者的手上,硬件和人工成本要多少钱?公司不作技术再投入吗?更何况他公司还会有利润!否则,公司如何运转?中关村的技术人员如何留得住?!
    我们做了代理也有近十年了,每年在我们公司购买加密件的客户也有近两千家固定客户,前一段时间有人在市场上销售低价的东西时对他们也确实具有极大的诱惑,也有很多的客户使用了这类的东西,但是可以跟大家说得是:他们绝大部分人又重新回来购买我们的产品了。问其原因是他们都有一个共同的说法:“我们丢不起那人!软件销售后几乎没有不用技术人员电话支持或现场调试的。搞得公司鸡犬不宁”。您自己算算增加的人员开销和差旅开销那个合算!最主要的是你的软件到用户手中在安装的时候就不能用,购买软件的人会打电话说你用的加密产品有问题吗?!你软件的知名度和公司的信誉又如何保证。中关村里确实有那么几个打一枪就走的人,但是我相信绝大部分的人不是这样。
    友情提醒一下:现在SENTINEL的硬件复制和软件破解由于新技术的不断更新和增加,难度是不言而喻了。但是新的盗版思路已经早早”诞生”。在我们的工作中发现有的软件代理商在代理软件后,购买一个同品牌同型号的加密件后到开发上哪儿说,加密件坏了,请给换一个。请注意这时他花了一份的成本买回了n个软件的授权。
    哈哈,好在这种卑鄙的手段也被新产品的新技术给斩断魔爪。赶快去试用一下SENTINEL的圣天狗吧!!我不是个俗人,只是在这儿告诉您现在有办法了!!
    供大家讨论!!谢谢你看到此!
  • 2007-7-27 15:58:16   回复该留言
  • 9.笑望人生
  • 朋友,我有款软件破解起来有点难度,你能帮帮我吗?
  • 2007-8-4 13:28:15   回复该留言
  • 10.123
  • 我有个软件太难破了  有哪个高手帮帮忙啊
  • 2007-8-22 12:22:00   回复该留言
  • 11.彩虹狗专卖
  • 需要加密的朋友,可以与我们联系,我们是SafeNet(原彩虹天地)的北京白金代理商,我们将提供一流的技术支持服务和一流的加密产品。目前圣天狗是我们最好的产品,采用了军用级别的安全通道技术,可以有效地防止软件被模拟跟踪,硬件方面,圣天诺系列产品一直就有着非常好的抗复制、破解能力,请您放心使用。我们的联系方式:
    010-51292955
  • 2007-8-28 1:45:40   回复该留言
  • 12.硬件AES
  • 在CPU上运行AES算法是非常慢的,直接用硬件实现AES会快得多。请问有那只狗直接用硬件实现实现AES?好像没有。但是国内已经有许多单位设计了硬件AES,为什么没有用到狗身上?
  • 2007-10-18 6:06:42   回复该留言
  • 13.彩虹狗专卖
  • 目前,我们的圣天狗就是直接在硬件上实现AES和ECC运算,速度应该将是比较快的。如果感兴趣,您可以先我们申请试用。
  • 2007-11-22 12:00:51   回复该留言
  • 14.gdgvfdmgc
  • 了解, 打狗棒的招式也在改变。
    没有打不死的狗
  • 2007-12-5 16:13:10   回复该留言
  • 15.wrnm
  • 好好一个软件,非得插上一个垃圾才能用
  • 2008-1-11 14:17:27   回复该留言
  • 16.新开传世
  • 们的圣天狗就是直接在硬件上实现AES和ECC运算,速度应该将是比较快的。如果感兴趣,您可以先我们申请试用。
  • 2008-4-14 12:12:31   回复该留言
  • 17.aa
  • 申请试用啊!你们不就骗钱的嘛?试用个×!老子研究透了,把你圣天搞倒闭!人能做出来就能人破解!
  • 2008-6-11 17:05:13   回复该留言
  • 18.去
  • 大杂烩
    突然发现
    加密与解密都适合吹牛
  • 2008-8-9 10:57:41   回复该留言
  • 19.胡说几句
  • 算是见识了啥叫JS啊那么低的成本,搞那么高的暴利润。你说人家破解了你不高兴了吧但是你市场上价格那么恐怖咱为啥就不能利用的知识研究来讨论讨论,8楼的很讨厌你的这些套路,人就不能高尚点吗?素质!
  • 2008-8-9 17:32:25   回复该留言
  • 20.mongolnet
  • 加密狗破解,我这里现在知道加密狗的制造商
    也知道软件用的程序语言,也知道加密狗的型号

    请问怎么破解
  • 2008-9-6 14:57:10   回复该留言
  • 21.ddssaa
  • 搞笑哦!加密和解密本就是一对孪生兄弟.只要软件可以正常使用.就是可以解密的,7楼的说法 软件本身就就是告密者!!
  • 2008-9-9 16:42:39   回复该留言
  • 22.风
  • 与其费那马大的劲去加密,不如多在软件上下点功夫,如果你的软件不好用,你白送也没人用。微软怎吗做的,随便盗版满天飞,等大家都接受了,软件也在不断完善,其他软件无法发展,而后祭起知识产权保护之剑,把盗版软件替他圈的地一举收回
  • 2008-10-24 21:30:31   回复该留言
  • 24.yanshen
  • 彩虹天地信息技术致力于加密狗加密软件,数字版权及身份认证产品的提供加密狗以及技术支持工作,主要产品有圣天狗,加密锁,iKey加密狗系列,硬盘和文件加密系列产品,强大的管理团队及严格,高效,求实的创新团队使得加密狗加密锁系列产品深得行业客商口碑。
  • 2009-4-21 13:58:43   回复该留言
  • 26.寻求破解高手帮助
  • 一个继续帮助的真诚求助
  • 2009-5-26 18:29:02   回复该留言
  • 29.永创
  • 有谁知道USB接口的加密狗,上面印有WHCX-BENDER字样,是什么类行的加密狗
  • 2009-6-15 11:35:40   回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过电子邮件订阅本站

站内搜索

热文排行

最新评论及回复

最近发表

网站收藏

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.

This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.