您的位置: 我要加密首页 >> 硬盘加密 >> 阅读文档:软件狗加密的可靠性

软件狗加密的可靠性

[ 作者:罗堃 | 更新日期:2007-8-10 09:45:24 | 阅读次数: | 评论 0 条 | 我要投稿 ]
    现在为了防止软件盗版,各种各样的反盗版技术纷纷登场。其中一个大家经常提到的技术就是染件狗加密技术。 最近由于私人上的业务关系,一个朋友希望我能帮他给一个软件解密。该软件就是采用的软件狗加密技术。

    朋友说找了许多人,都拿不出好的方案来。作者本人原来也不是专门干加解密这个行当的,但是对于病毒和加解密技术有一定的了解。 我曾经研读过清华大学出的一本书《软件狗加解密技术》。小小的一个软件狗也是经过了从简单的二极管到集成电路的发展过程。 电路是越来越复杂,所采用的芯片也是越来越高级。 并且生产厂商还故意檫除芯片的名称,用黑乎乎的胶将整个电路板给包裹住,让你无法知道他的软件狗是如何制造的。 想直接从软件狗内部获取各种数据信息,再仿制这样一个狗实在很困难。 仔细一想觉.得依赖软件狗反盗版的软件,其弱点不在于软件狗,而在于使用软件狗一方。

    很多人都有一个误区:认为只要使用了软件狗技术,反盗版就可以获得成功。 其实不然。一般的来说有很多软件只是简单地在启动应用程序的时候扫描端口。 如果从端口读入的数据和内存数据符合,就运行程序,反之就拒绝运行。这样的一个过程有好多后门: 字串1

        (1)使用者可以安装多套软件在不同的机器上,用一个软件狗依次启动。

        (2)解密者可以修改主程.序的EXE文件,使其内存数据.符合端口高电平时候的状态。也就是没有软件狗时的状态。

        (3)解密者可以跟踪程序,通过修改主程序的EXE文件逆转所有的比较判断,使得判断代码始终为真值。

        (4)解密者可以跟踪程序,通过修改主程序的EXE文件使得程序的执行跳过检查软件狗状态的代码,而直接运行主程序。

        (5)找到程序中读端口的代码(例如in al, dx)。跟踪观察有软件.狗时,每次读入的端口数值,并模拟这个变化。

    在这次解密过程中,作者使用调试器跟踪了一段时间后就发现这个软件可以直接转跳到主程序运行。修改EXE文件中关键性的比较和转跳指令,使其直接指向主程序段。这样软件狗就失去了原来的作用。总的来说软件狗的弱点在于它必须要执行读端口的指令。这就和钥匙盘加密需要使用中断一样。因此只要是硬件加密,解密的关键就是要找到软件和硬件打交道的指令。然后修改指令或模拟指令,这样就能达到解密的目的。 字串3

    那是不是说软件狗在加密方面就没有前途了呢?只要使用.软件狗的一方做好反跟踪技术,软件狗还是能发挥其作用的。在病毒的世界里就有很多反跟踪的方法:限时执行、运行代码实时加解密、逆代码执行、控制调试中断等等。当然这些方法可能难以实现。最简单、又实用的方法就是分散扫描和判断程序的位.置,随机安排扫描和判断程序的顺序,以增加跟踪的难度。

    总的来说就是:“只要程序在别人的机器上运行,就没有秘密可言!”反盗版最终还是要依靠法律才能奏效。
Tags:软件狗 加密 可靠性
来源:
您的评论
用户名:新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为