偶然的机会看了“不死鸟”写的《破解不同于小偷行为 给姚壮宪的一些建议》,很有感触,正好我是《仙剑奇侠传》系列的忠实粉丝,每一个版本我都收藏有正版。加上我自身是软件工程专业的硕士研究生,研究方向就是计算机安全,逆向分析是我们必备的技能。所以可以结合我自身的专业角度来看看这个问题。
首先看看姚仙微博的原话:
“做游戏不容易,破坏却很简单。破解单机游戏保护不需要什么高深的技术,除了伤害脆弱的民族创意产业,没有其他意义可言,就请破解者放中国单机游戏一条生路。请知道破解版的不再要告诉别人,想玩的请补票买个正版。不想玩的就请删掉破解版节省您的硬盘空间,我们会再努力争取让你们将来看得上。”
姚仙接受52PK采访的原话是:
52PK:“盗版问题是如何应对的?”
姚仙:“再强的锁敌不过普通窃贼手中的一根铁丝,再强的加密保护敌不过普通破解者几天的功夫。维护正版生存空间需要靠政府打击盗版力度、国际网络和销售行业的支持、和群众的自觉。不传播不贩卖盗版,给民族原创工作者一个正常的生产商业环境,如此一来,就会有更多厂商愿意大力投入制作精品游戏,玩家就会有更多的好产品可以选择。”
然后“不死鸟”就认为姚仙其实是在说以下两个问题:
1、破解行为是偷盗行为,做破解的跟小偷没什么区别。
2、破解技术是一门很简单的技术,跟游戏开发差的很远,随便谁学学就会。
在此我不对“不死鸟”的“神逻辑”做过多的评述,也不纠结于破解是否等同于盗窃,只是从我的专业角度来谈谈破解。
其实姚仙认为破解没有多少技术含量,我还是比较赞同的,但这并不代表说“随便谁学学就会”。虽说不死鸟在文章中详述了要成为一个破解高手,需要曲折漫长的道路,我也认可不死鸟的观点,其实双方说的都是事实。为什么说破解没有多少技术含量呢?举个例子,仙剑是需要序列号才能够正常进入游戏的,其实我们花钱买的,就是那个序列号,因为游戏可以在官方网站上免费下载。那么如何突破这个序列号的验证机制呢?一般来说,这需要通过逆向分析工具来查看游戏的反汇编代码。这个说出来似乎很高深,但是具体来讲,手段一般是两种,一种是通过分析反汇编代码,来跳过序列号的验证机制,或者更高明的方法是,研究序列号的生成原理,来写出序列号生成器,这样就可以自动生成无数的序列号了。
举个通俗的例子,A想开一家商店,需要从批发商B那里进货,而B又从工厂C那里进货。突然有一天,A觉得不想让B赚取差价,就越过B,直接从C那里进货。这里的B就如同仙剑的验证机制。通过修改反汇编代码来跳过验证机制,有专门的术语叫做“爆破”或者“打补丁”。当然了,我没有研究过仙剑的验证机制,也许仙剑的保护方式不是这样,但是基本思想和我说的应该是大同小异。不排除“不死鸟”采用了更加先进的破解技术。其实再强的防御机制,也难以阻挡破解者前进的脚步。
那么为什么“不死鸟”反复强调破解高手的成长很是崎岖漫长呢?这是因为程序的编写方式千千万万,保护机制也往往五花八门,因此破解者需要不断练习来增加自身的经验。经验的增加有助于减少破解所耗费的时间。破解一般来说不需要编程的,除非编写序列号生成器之类的软件,这并不复杂。因此破解过程的大多数时间其实都是花在了分析汇编代码,理解游戏的验证逻辑上。我认为这只是经验的积累,而与自身技术的进步关系不大。一款游戏可能需要酝酿几年的时间才能面世,而富有经验的破解者可能只需要几天甚至几小时就能完成破解。从这个角度来说,破解是很被游戏厂商所抵制的。
所以,其实懂得破解的人完全不应该将自己的知识用于破解民族软件,特别是像仙剑这样的经典。也许很多人会感激“不死鸟”的所作所为,但是在这里我却感到厌恶。也希望大家永远支持正版软件,抵制破解行为。