我很好奇 1980 年代初的微型计算机(例如 ZX Spectrum 48k)上的游戏或其他程序是如何实现防复制的。如果我没记错的话,有些游戏甚至成功地击败了直接磁带到磁带复制。这是如何实现的,这种技术或技术集是否对现代 IT 安全有任何应用?
我主要对 ZX Spectrum 感兴趣,但这个问题的范围还包括 1980 年代早期从磁带加载程序的其他微型计算机。
我很好奇 1980 年代初的微型计算机(例如 ZX Spectrum 48k)上的游戏或其他程序是如何实现防复制的。如果我没记错的话,有些游戏甚至成功地击败了直接磁带到磁带复制。这是如何实现的,这种技术或技术集是否对现代 IT 安全有任何应用?
我主要对 ZX Spectrum 感兴趣,但这个问题的范围还包括 1980 年代早期从磁带加载程序的其他微型计算机。
那时,磁带只是磁性胶片上的二进制数据,没有“隐藏”通道或带外功能。声称使磁带到磁带录制成为不可能的制造商通常只是让磁带看起来不同,以阻止潜在的盗版者。通常使用普通的录音机模块来读取它们,因此制作“特殊”磁带实际上是行不通的。
通常的方法是寄送一本包含多页的小册子(例如说明书),然后要求用户从特定页面的特定行输入特定单词。还使用了密码卡,在深色纸上使用浮雕的黑色文字,以防止容易复印。
任何人都可以复制磁带,但当时复制小册子比较困难;没有人有扫描仪,很少有人会去当地图书馆复印一本多页的小册子。即使他们确实尝试复制这本小册子,文本中的关键词通常也会变暗,以防止它们被复制干净。
一些早期的电子游戏包括商品、编码轮、CD 盒上的文字(例如《合金装备》中梅丽尔的编解码器编号)或玩游戏所需的其他实物商品(例如解决某些谜题),这些都是相当有效的威慑. 其他游戏只是简单地提供海报和可动人偶,以使原始副本比副本更有价值。
作为一个(稍微偏离主题)的旁注,VHS 磁带确实能够包含普通播放器无法复制的数据。本质上,VHS 播放器的工作原理是将磁带中的数字信号传输到数模转换器 (DAC) 中,然后将信号与适当的同步信号一起发送到监视器。该模拟信号被解释为一组颜色,但也使用了一些微妙的峰值来向播放器发送命令(例如,空白屏幕、重置垂直同步等)。
Macrovision(一种复制保护机制)将高压编码到磁带中,以便播放器的保护电路进行补偿。在原始磁带上,该值将被解释为故障并被播放器忽略。在副本上,录像机会将信号电平降低到视频其余部分的电平。一旦这部分信号降低到正常水平,播放器会将其解释为消隐信号,导致视频完全空白(通常为蓝色)。其他机制依赖于相同的技巧,而是使用导致视频色相偏移或导致大多数玩家的跟踪机制出现故障的信号。
如果我没记错的话,有些游戏甚至成功地击败了直接磁带到磁带复制。
原则上这是不可能的,因为磁带上的音轨包含了所有需要的信息。在实践中,通过使用自定义加载程序,该加载程序对以比标准 Spectrum 数据文件更高频率编码的数据文件进行操作,可以击败低质量的消费级磁带到磁带复制 - 通过使格式对噪声更敏感,你让嘈杂的复印机更难工作。
Wikipedia 已将我指向此页面,其中包含有关自定义加载方案的大量详细信息。
现代 IT 的应用似乎很难提出,因为内存中的数据是数字的,所以“副本”要么是完美的,要么根本不是真正的副本。虽然看到评论对于所有物理“数字”媒体来说并不一定那么简单!
那些美好的旧时光。当我年轻的时候,我复制了一些 Spectrum 游戏,并且不得不解决复制预防计划。
其他答案中描述了磁带到磁带的复制。我对数字副本感兴趣以获得最佳效果。
磁带上标准格式的数据本质上只是一系列字节。使用一些标准语句(LOAD、SAVE),您可以将该数据加载到内存中、切换磁带并将其写回另一个磁带。
复制的游戏将从磁盘加载,但令我惊讶的是它不起作用。
经过一些试验,我发现在主要游戏数据之后,磁带上出现了三个额外的数据块,也应该复制这些数据块。稍微复杂但可行。
尽管如此,还是没有成功。
经过更多的实验后,我发现第一个小的额外数据块被加载到一个特殊的 Spectrum 内存位置(FRAMES)
,该位置(中断驱动)由 ROM 每秒递增 50 次。加载最后一个小块后,(FRAMES)
代码会验证该值是否在一定范围内。如果磁带上的小数据块不在正确的距离上,游戏将拒绝加载。
如果您手动复制每个块,这很难做到。
正如预期的那样,几年后可以找到可以帮助您复制这些数据块并记住块距离的复制助手程序。
gamebuilder 用来对付这种情况的另一个技巧是让游戏变得非常大,这样它几乎会填满内存的每个字节。这样一来,任何复制助手程序就没有空间了。
为了解决这个新的复制助手程序的出现,它甚至可以使用视频内存来存储从磁带加载的数据块。你的屏幕会很乱,但游戏被复制了。
还有其他(非磁带相关)类型的复制保护。我记得有一款名为 ACE 的游戏具有Lenslok版权保护: https ://en.wikipedia.org/wiki/Lenslok
来自维基百科:“Lenslok 设备本质上是一排垂直排列在塑料支架中的棱镜。在游戏开始之前,屏幕上显示了一个两个字母的代码,但由于被分成垂直带而被破坏,然后重新排列在屏幕上。通过 Lenslok 查看这些乐队,它们被恢复到正确的顺序,并且可以读取和输入代码以允许访问游戏。当折叠平放时,该设备足够小,可以放在标准盒中的录音带旁边。”
我记得,使用起来非常乏味,而且您经常会弄错代码,不得不重新加载程序。