任何访问洪流跟踪器的人肯定会发现大量"破解"程序,从简单的共享软件到花费数千美元的软件套件.似乎只要程序不依赖于远程服务(例如MMORPG),任何内置的复制保护或用户身份验证都是无用的.
是否有效地阻止破解者规避复制保护?为什么?
不,它真的不可能阻止它.你可以把它变得非常困难 - 一些Starforce版本显然已经完成了这项工作,其代价是严重惹恼了一些"用户"(受害者可能更准确).
您的代码在他们的系统上运行,他们可以随心所欲地执行任何操作.附加调试器,修改内存,等等.就是这样.
孢子似乎是一个优雅的例子,在这方面的严峻努力不仅完全无法阻止它在P2P网络等地共享,而且严重损害了产品的形象,几乎肯定是销售.
另外值得注意的是,用户可能需要破解复制保护以供自己使用; 我记得几年前在我的笔记本电脑上玩暗黑破坏神,没有内置光驱.所以我放入了一个没有CD的裂缝,然后在长途飞机上玩了几个小时.强迫这种检查,因此用户解决它是最愚蠢的一种错误.
不破坏产品就不可能阻止它.证据:
鉴于:您试图阻止黑客/窃取的人将不可避免地比您的大部分市场技术复杂得多.
鉴于:您的产品将被一些公众使用.
鉴于:使用您的产品需要在某种程度上访问它的数据.
因此,您必须以足够的方式向公众发布加密密钥/复制保护方法/程序数据,以便以可用/未加密的形式显示数据.
因此,您以某种方式使海盗可以访问您的数据.
因此,黑客比合法受众更容易获取您的数据.
因此,任何过去最简单的保护方法都将最终对待你的合法受众,如海盗和疏远他们
或者简而言之,最终用户看到它的方式:
因为这是对抗思维对手的固定防守.
几千年前,军事理论家们把这个人打败了?
复制保护就像安全一样 - 不可能实现100%的完美,但是你可以添加层,使其更难以破解.
大多数应用程序都有一点要问(他们自己),"许可证是否有效?" 黑客只需找到该点并更改已编译的代码以返回"是".或者,破解者可以使用暴力来尝试不同的许可证密钥,直到一个工作.还有一些社交因素 - 一旦有人购买该工具,他们就可能在互联网上发布有效的许可证代码.
因此,代码混淆使得找到要更改的代码变得更加困难(但并非不可能).二进制文件的数字签名使得更改代码变得更加困难,但仍然不是不可能的.可以使用具有大量纠错位的长许可证代码来对抗暴力方法.通过要求作为许可证代码本身一部分的名称,电子邮件和电话号码,可以减轻社会攻击.我使用那种方法效果很好.
祝好运!
抱歉在一个古老的线索中闯入,但这就是我们的生活,我们真的非常擅长.这就是我们所做的一切.所以这里的一些信息是错误的,我想直接设置记录.
理论上不可破解的保护不仅仅是我们销售的产品.主要的复制保护供应商(包括我们)遵循的基本模型是使用exe和dll的加密以及在运行时解密的密钥.
有三个组成部分:
非常强大的加密:我们使用AES 128位加密,有效免受暴力攻击.有一天量子计算机很常见,有可能打破它但是假设你将破解这种强度加密来复制软件而不是国家机密是不合理的.
安全的密钥存储:如果一个破解者可以获得加密的密钥,那么你就是软管.保证密钥无法被盗的唯一方法是将其存储在安全的设备上.我们使用加密狗(它有很多种类,但操作系统总是将其视为可移动闪存驱动器).加密狗将密钥存储在智能卡芯片上,该芯片可以抵御像DPA这样的侧通道攻击.密钥生成与多个因素有关,这些因素是非确定性和动态的,因此不可能有单个密钥/主密钥破解.密钥存储和计算机上的运行时之间的通信也是加密的,因此可以阻止中间人攻击.
调试器检测:基本上你想阻止一个破解者获取内存快照(解密后)并从中获取可执行文件.我们为防止这种情况所做的一些事情是秘密的,但一般来说,我们允许调试器检测并在存在调试器时锁定许可证(这是可选设置).我们也从未完全解密内存中的整个程序,因此您永远无法通过"窃取"内存来获取所有代码.
我们有一名全职密码学家,可以破解任何人的保护系统.他把所有时间花在研究如何破解软件上,以便我们可以防止它.所以你不认为这只是我们所做的便宜事,我们并不是独一无二的:SafeNet和Arxan Technologies等其他公司也可以做一些非常强大的保护.
许多纯软件或混淆方案很容易破解,因为破解者只能识别程序入口点并分支任何许可证检查或ISV为防止盗版而放入的其他内容.有些人甚至使用加密狗会在找不到许可证时抛出一个对话框 - 在该错误上设置一个断点将使破解者在汇编代码中有一个很好的位置来做补丁.同样,这需要未加密的机器代码可用 - 如果您对.exe进行强加密,则无法获得这些代码.
最后一件事:我认为我们的独特之处在于,我们已经举办了几场公开竞赛,我们为人们提供了一个系统并邀请他们破解它.我们有一些相当大的现金奖励,但还没有人破解我们的系统.如果ISV采用我们的系统并且不正确地实施它,那么在前门上安装一个很好的挂锁与木螺钉连接到便宜的搭扣没有什么不同 - 容易规避.但是,如果您使用我们的工具,我们建议您认为您的软件无法破解.
HTH.
安全性和复制保护之间的区别在于,在允许授权用户访问的同时,您可以保护资产免受攻击者攻击.通过复制保护,攻击者和授权用户是同一个人.这使完美的复制保护变得不可能
我认为如果有足够的时间,一个可能的破解者可以规避任何复制保护,甚至是使用回调到远程服务器的复制保护.所需要的只是通过一个可以过滤这些请求的框重定向所有传出流量,并使用相应的消息进行响应.
在足够长的时间线上,复制保护系统的存活率为0.一切都是反向可操作的,有足够的时间和知识.
也许您应该专注于使用真实的,已注册的,未破解的版本使您的软件更具吸引力的方法.优质的客户服务,注册津贴等奖励合法用户.
基本上历史告诉我们,你可以购买最多的复制保护是一点时间.从根本上说,由于存在您希望某人看到某种方式的数据,因此有一种方法可以获取该数据.因为有一种方法可以利用这种方式来获取数据.
对此问题的任何复制保护或加密唯一能做的就是让它变得非常困难.如果某人有足够的动力,总会有蛮力的方式绕过事物.
但更重要的是,在计算机软件领域,我们有大量的工具可以让我们看到事情是如何运作的,一旦你掌握了复制保护的工作方法,那么获得你想要的东西是一件非常简单的事情.
另一个问题是,大多数情况下的复制保护只会让正在为您的软件付费的用户感到沮丧.看看他们不打扰的开源模型,有些人正在赚大钱,鼓励人们复制他们的软件.
"试图使钻头不可复制就像试图让水不湿." - 布鲁斯施奈尔
复制保护和其他形式的数字限制管理本质上是易碎的,因为不可能使计算机可见的位流同时阻止计算机复制它们.它无法完成.
正如其他人所指出的,复制保护仅用于惩罚合法客户.我不想玩Spore,但是如果我这样做的话,我可能会买它但是然后安装破解版本,因为它实际上是一个更好的产品,因为它缺乏系统破坏性的SecuROM或财产剥夺激活方案.