作业 7 版权保护

作业 7 版权保护

题目

Alice 和Bob是两个程序员,发明了一个比MS Word还好用的文字处理软件PaperWrite,把软件做成一个安装光盘,安装在Windows系统中就能使用,但是由于他们对于安全技术不是很了解,故受到盗版问题的困扰,需要你的帮助。设计一个版权保护模块,防止盗版使用软件,方法不限。

解答

以"软件版权保护模块常用方法"为关键字搜了一下,找到了下面这篇文章:
常见的软件版权保护技术
一遍阅读一遍对照题目,题目用的是"安装光盘",感觉可用"硬加密"技术,逐项分析此项技术的缺点:

  • 需要额外的硬件,成本高

    都用光盘安装了,再多点硬件不要紧吧?
    比MS Word还好用!成本高就卖贵点,这么好用卖贵点不要紧吧?

  • 不利于网上发布软件

    都用光盘安装了,我看是打算像主机游戏那样买断制了,开网店卖光盘?!

基于上面的分析,我觉得此项技术的缺点是可以接受的,打算采用此项技术。

以"软件版权保护的硬加密方法"为关键字搜了一下,找到了下面这篇文章:
常见软件加密保护方法 - 夏冰加密软件技术博客
从中了解到"软件狗"这一技术:

硬件加密保护方法:

硬件加密保护方法是将加密信息固化在硬件上,如软件狗,软件在每次启动时,先检测硬件上的相应信息,如果通过检测,则启动软件系统,否则不能正常启动软件系统。

通过这种方法实现软件的合法使用,一般情况下硬件加密保护方法成本高,但安全性高。对于考虑成本或者有特殊应用要求的软件,硬件加密保护有时候并不适合。

搜了一下,发现这东西就是搞个小东西,插电脑上检测你的软件是不是正版,是才能用,不是就不能用。感觉可以将此项技术说给Alice和Bob听。

回过头来,主机游戏?现在的主机游戏很多也是拿光盘安装的,它们的版权保护是怎么做的呢?
以"主机游戏版权保护技术"为关键词搜索,在Bing搜索引擎下第一页没有搜到关于相关技术的介绍,大多是一些新闻和网络游戏著作权相关,感觉更涉及的是从法律层面来维护著作权,并没有涉及到具体的加密技术。

用网易有道词典翻译"主机游戏版权保护技术",将结果译成英文后用Bing国际版搜索,发现第一页几乎都是关于copyright的保护,涉及法律的比较多,于是作罢,修改搜索关键词。

Bing国内版搜索"主机游戏防盗版技术",发现一篇文章:
你不知道的防盗版措施:游戏厂商你们真的辛苦了
阅读一下相关技术:

软防

粗体字即为相关技术名称,斜体字是对应技术的说明,高亮字仅起突出作用,可能是我觉得比较重要。

早期的软防其实十分弱,最早的软防是游戏key。也就是买游戏的时候给玩家一个密码,在安装或者玩之前要求输入这段密码。

但是早期的游戏只能本地游玩,也就是说每次开启游戏前都需要输入这一密码,密码也就只能是固定的,一旦一个人将密码散播出去也就相当于这个游戏告破了。为了应对这种情况,后来的key码也变成了一机一码或一碟一码,但还是总得来说这种固定key码十分不可靠,基本还是靠玩家自觉。

于是后来就有了威力加强版的key码,也就是密码本,通常随游戏附送或是干脆就印在说明书上。每次玩游戏之前或者游戏过程中就弹窗提示玩家在密码本的第几页第几行找密码输入,这样做的好处是可以提前编好随机决定密码的程序,随机产生密码,比起之前的固定密码而言不会一个人散出去就全线告破。后来很多网络游戏如《传奇》、《魔力宝贝》、《WOW》的账号密保卡其实都是继承了这一形式。尽管这样略损游戏体验,但采用这种做法的游戏非常多,特别是DOS游戏。

但这种加密方法本质上仍是一种明文密码,一旦密码本被复制就完了。因此反盗版进入了下一个阶段,就是增加密码本的复杂度,使其难以被复制。例如采用全彩印刷,文字颜色和底色的深度相近,这样黑白复印出来就是一坨糊根本看不清,90年代彩色复印机还是进口的,一台上万甚至几万,彩色复印的成本还是很高的。除此之外还有的密码本要用半透明的彩卡盖在上面才能看(类似《冒险小虎队》的“特种功能解密卡”)。

但只要是纸就有办法复制,实在不行还可以抄下来然后复制,于是就有了更高级的密保卡:双层转盘密保卡,要转到指定的位置,看洞里露出来的文字。1991年发行的DOS横版动作游戏《The GodFather-The Action Game》就用了这种丧心病狂的密保方法(不过这种密保卡只在大陆代理版本里见过,在美亚上看原版盒装里似乎没有,可能又是“大陆特供”道具)。

在密码本这个思路上演进的产物其实直到PS3和NDS上的《二之国》都还存在(当然这也可能不是单纯为了防盗版而是作为游戏特色的一种,但这个特色真不是什么好创意)。做法同样是买《二之国》游戏送书,用法是在游戏流程中,当玩家想要释放魔法的时候系统会提示玩家把随游戏附赠的那本魔法指南书翻到某一页然后输入指令。这本书有352页,防复印肯定是可以防了,但问题是这样很不方便,PS3作为家用机连着电视,玩家在游戏过程中为了翻书需要不断地抬头低头(倒是十分治疗颈椎病);另一个问题是《二之国》这个游戏不止有家用机版还有NDS版,作为掌机,玩家出门坐地铁时还要腾出一只手翻这本300多页的魔法书,也是够呛。

自然有许多玩家对这样子的设计感到不满,而且这种做法用来反盗版或许在90年代还行得通,但PS3都已经进入网络数字时代了,300多页的魔法书直接扫描做成PDF放上网了,防盗版也没防住,白白得了个骂名。但《二之国》遭骂这个事其实反映了密码这种软防的固有弊端:太简单了防不住人,太难了极大地影响游戏体验,因此00年代便已进入了专用软件防盗版的时代。

在进入光盘时代后,很多PC游戏除了key以外,还要求每次玩的时候必须放入游戏光盘。不过这种防盗版措施一样用处不大,主要针对的是一人购买全班安装这种“分享”行为。破解方法要么是直接复制原版光盘(但正版光盘大多经过技术处理,难以复制),要么是跳过光盘验证,也就是所谓的“免安装硬盘版”(但如今很多游戏已经不发售实体盘了,所以这个名词如今的意义已经和当初有些不同了)。不过由于盗版不用读光盘(读光盘有磨损光驱和卡盘死机的风险),体验反而比正版好……

1998年,日后臭名昭著的starforce软件出现。其实SF还是有其优点的,作为第一款专业保护软件,它提供了一种针对盗版的经济、简洁的解决方案,故在反盗版阵线活跃了相当长的时间,一些我们耳熟能详的游戏如《大富翁》6-8代、轩辕剑系列的4-5代、仙剑系列的2-4代、《伊苏6》、《碧之轨迹》等,都采用了SF加密保护。

但SF虽然保护了游戏,但这是以损坏玩家利益为代价的。SF会使用Ring0级别权限(最高级别权限),和当年的CIH病毒一样。此后除非格式化硬盘或用官方卸载工具,否则无法移除SF,但即使被卸载,SF对系统设置的改写也不会被撤销。且SF会在电脑开着的时候监控着电脑,持续收集电脑内的所有资料;如果SF运作过程中发生错误,会将电脑里的资料(包括私人资料)传回SF公司。其最罪大恶极的一点是会经常性读取光驱,防止光驱被人动手脚,但这样经常性读取的后果就是卡顿是经常的事,光驱的损坏率也大幅增加,光盘被刮花更是常有的事。因此多家游戏厂商已经宣布不再使用SF了。

接下来的软防就是诸位玩家熟悉的D加密Denuvo了,Denuvo的具体工作原理目前除了开发者以外基本上无人知晓其完整的工作方式。Denuvo虽然已经有办法绕过,但其延长了游戏发售到盗版发布的时间的作用是无可置疑的,因此也受到了游戏厂商们的青睐。有人说Denuvo就是这个时代的starforce,甚至说Denuvo会损坏SSD,不过官方已经进行了辟谣。无论怎么说,Denuvo都代表了这个时代游戏厂商在软防层面与盗版作斗争的最高水平,未来Denuvo或许会被彻底攻破,但其为反盗版作出的贡献将会被历史铭记。

硬防

1984 年的《Elite》,它的防盗就是通过偏光锁(Lenslok)来实现。这个小玩意随游戏附赠,每当玩家开始游戏之前,都需要利用偏光锁来解读屏幕上出现的随机符号,然后输入对应字母进行验证,是不是有种使用二维码+验证码的感觉?

如前文所说,游戏机一直是使用硬防反盗版的。相对而言,硬防由于可以定制所以相比软防而言被破解的难度更大,但由于硬防一旦做好便无法随时更改,所以硬防一旦被破则该主机全线告破。从FC到PS/SS再到NGC、DC和PS2、3,硬件商们为了维护自己的利益各出奇招,和盗版展开了斗智斗勇的战争。

在FC时代,任天堂就已经想出了对付盗版的方法:万恶的10NES。10NES是装在卡带和各个地区的主机上的一种芯片,工作方式是游戏机上侦测到装有对应主机地区版本的10NES的卡带插入时,主机才会继续启动卡带,否则无法运行。任天堂用这个机制来避免非官方以及盗版游戏的发行,但这在结果上导致了不同地区的游戏与主机不能随意搭配使用,成为了后来任天堂被人诟病的锁区政策的鼻祖。10NES芯片在早期有效地阻止了盗版游戏,但也有严重的问题只要主机和卡带间接触不良,游戏便无法运行。

很多玩家在遇到FC无法运作的情况时,都会对着卡带吹气(喷神James的一期节目就介绍过这种现象),神奇的是,这个偏方大多会奏效。这是因为人体吹出的气体带有大量的水蒸气,当水蒸气接触到温度较低的卡带时即凝结为小水珠,这些水珠的导电性很强,因此有助于解决接触不良问题。但同样的,水蒸气也会加速金属氧化,让卡带老化得更快。10NES制造了大量废旧卡带,让玩家们叫苦不迭。

后来10NES被盗版商通过高电压刺激芯片、切断10NES的5V脚位等方法破解。这个方法能让玩家跨区游玩游戏,也能玩盗版游戏,更重要的是正版卡带也不会为接触不良所苦。这种手法其实就是对主机硬件层面进行的破解,可以视作第一个实际对主机本体进行的破解。此后,任天堂去除了鸡肋的10NES。

进入光盘时代后,由于光盘的可复制特性,使得防盗版变得异常困难。SS和PS开始应用了简单的反盗版手段:主机BIOS在加载后向光驱查询是否读取到了光盘上的特殊区段,如果没有就拒绝作为游戏读取。但是破解方法也很简单,就是俗称的“飞盘”。即先用一张正版盘开机,读过了特殊区段后开仓换盗版盘(为了避免机器知道换盘已经把检查开仓的开关拆了)。这种方法虽然简单但它却是真正从“物理”层面上去解决问题,所以反而特别有效以至于流传了特别久,PS3的4k型的硬件破解就需要先读一次正版碟(奸商称之为“引导盘”)再玩盗版游戏。

但在光盘时代有两家厂商另辟蹊径,使用非标准光盘来防盗版。一个是任天堂的NGC,它采用了8cmDVD作为存储媒介,难以制造盗版。但是NGC有一种松下出品的兼容机NGCQ,它可以读取标准DVD,一时间受到追捧。另一家是世嘉的DC,它采用了YAMAHA独立格式的GD光盘,虽然还是CD的硬件结构,但其校验方式与读取方式和普通CD完全不同,将原本740M的CD容量扩展到了1G。DC也能读取普通CD,所以它还是有盗版盘的,但是因为要把1G的内容塞进740M里会有很多内容被删减,动画和音乐也会被压缩劣化,语音更是被全部删除,有的游戏甚至被删除了关卡。从保护正版体验的角度来看,DC无疑是最成功的反盗版主机,因为盗版用户根本就见不到游戏的真正模样。

但是以上的盗版方法其实并不彻底,真正彻底攻破反盗版防线的方法是直读在光驱上插入特殊芯片,BIOS询问时就直接从芯片返回确认结果。由于游戏机有不同型号和不同地区版本,每版需要的直读都不一样,不能搞错。主机厂商也发现了这种方法,于是从PS2时代开始主机在开机时有了复杂的自检程序,一旦发现外接芯片就锁死。而盗版商被逼得更进一步,推出了直接针对CPU的破解芯片,这种直接针对核心的破解发展到最后就成了玩家们都接触过的自制系统

游戏界的正盗版之间的斗争已经持续了30多年,未来也将继续下去。但随着网络的发展,越来越多的游戏也加入了联网要素,并将之作为核心内容打造,以致被玩家调侃为“买多人模式送单人模式”。在这种环境下,就算游戏被破解了盗版用户也连不上正版服务器,最终还是无法玩到游戏的精华部分。但也有不少玩家不喜欢网战,就喜欢单机所带来的浸入式体验,所以单机游戏始终是存在的。为了不至于把所有的单机都逼成要求全程联网或是转型为网游,还是请诸位玩家尽力支持正版,共同支持游戏业健康发展。

总结

历史上出现的防盗版技术有:

软防:

  • 固定key码。早期,不可靠。
  • 密码本、密保卡。能复制,牺牲体验换防盗效果。
  • 专业保护软件如starforce。破坏体验,改写系统,监控电脑--臭名昭著。
  • 插光盘才能用。用处不大,盗版体验比正版好。
  • D加密Denuvo。目前最高水平,技术细节不公开,防不住,但能拖。

硬防:

  • 偏光锁。有趣,不易推广到其他软件。
  • 特殊芯片如10NES。早期有效,不能跨区游玩,接触不良。
  • 光驱查询。简单的防盗版方法,"飞盘"破解。
  • 直读。彻底攻破反盗版防线,盗版商被逼无奈自制系统破解。
  • 联网。较好用。

“法防”:以法律为手段维护权益。//我自己想的第三个分类。

总的说来,盗版问题不可能被杜绝,多么精妙的防盗版技术都防不住黑客。刚发布的游戏一两天就被破解了,有的甚至能在测试阶段就把游戏给破解放出来。

目前比较可行的方法还是类似Micro Soft一样,对个人用户,不管盗版的使用;对公司,如果用到我的软件进行商业活动,不管是用来日常办公还是用来开发,一旦监管部门发现你公司在使用我的软件的盗版,法律部门就出动就告你个倾家荡产。

也就是说以法律为武器,维护自己的权益,保护自己的软件的版权。

对于Alice和Bob,既然说了"方法不限",我的建议是模仿Micro Soft,以法律的形式保护自己的权益:对于个人行为的盗版使用不去纠察,就抓公司的盗版使用,抓到就告他叫他赔钱。加大宣传,并适当和MS Word打价格战,快速占据市场份额。你,就是下一个Huge Soft!

或者直接开源为社区做贡献,靠大家的捐助度日🤣

posted @ 2022-06-06 18:01  Matrix_250  阅读(65)  评论(0编辑  收藏  举报