
美的
讲点特别奇怪的话——由于破解的标准存在差异(啊,当提及破解软件的时候,多数情形下,破解者得自己掏钱或者众筹去买一份正版软件,然后才能够着手分析:套上调试器通宵达旦地追踪软件的逻辑,运用一堆代代相传的脱壳技巧之类的……在自己无法正常使用软件的情况下,强行绕过判断逻辑这种事也并非毫无可能——不过一般都是保护算法存在一些问题:要么是像早就被人研究透彻的St〇〇mStub这类;要么是逆向题里那种精心设计但保护能力较弱的情况,还会在某条路径的终点放置一个flag{xxx}之类的东西来暗示你这才是正确的(此处为调侃)。从理论上讲,如果以破解者没有激活码,所以不用担心有人随意传播激活码为前提,我们当然也能够运用AES来设计一套完
美的注册码机制——要是实在不行的话,我们还可以把程序放到压缩包里,然后让用户输入注册码来解压,这样就归结到已被证明安全的情况了。反之,如果我们采用破解软件的标准——也就是破解者自己拥有激活码——来破解压缩包,这是怎样一种概念……那不就相当于在贴吧里发布度盘链接,然后在楼中楼或者压缩包注释里公布密码嘛(此处为调侃)。说到底,压缩包只需要防止未授权的用户凭空访问文件;而软件数字版权管理(DRM)还得阻止授权用户复制自己的授权、和他人分时复用自己的授权、让多台机器同时在脱机状态下拥有授权、在授权时间段过后继续使用……等等一大堆麻烦事()。打个比方的话,压缩包就像是门上的一把锁:有钥匙就能打开,其他的事情就不归它管了;而DRM则像是办事大厅里笔后面系着的那根绳子:既要让人使用又要防止被人拿走——甚至不能让陌生人使用,还得防止有人剪断或者锯断,可能还得考虑
双胞胎轮流使用之类的麻烦事……压缩包的加密是密码学工具箱里的一部分:它简洁、可靠、模块化、标准化。它把我们想要隐藏的内容提炼成一串密钥,这个过程甚至可以是透明的。只要密钥不泄露,秘密就不会泄露——除非出现至少足以震撼整个领域的论文。这个算法本身是基于数学的,独立的,可靠的,有一群科研人员一直试图突破但几十年都未能成功的,出了问题也可以随时更换。它对用户唯一的要求就是:我们还是得保护好这串相对较短的密钥,不能让不应该打开压缩包的人看到。但很遗憾,软件授权方面没有这种可以信赖的密钥:毕竟破解者会高高兴兴地把借助注册码才解密出来的核心逻辑转储(dump)下来然后传播出去,或者干脆省事地直接乱发自己的注册码。软件保护这件事从理论上来说就是个非常离谱的东西:不是嘛,
电脑都是一样的,凭什么软件在一台
电脑上能运行,在另一台上就不行了。