« PlayStation Portable(PSP)架构 (index)

PlayStation Portable(PSP)架构

Chapter 10: 反盗版和自制软件


目录

  1. 物理安全
    1. KIRK
    2. Lepton
    3. SPOCK
  2. 软件安全
  3. 击败
    1. 早期错误
    2. 降级
    3. 神电
    4. CFW及其他
  4. 鼓励自制

虽然这是一款便携式游戏机,但这并不意味着它的安全性就应该比 PS2 弱。 从各种意义上讲,情况恰恰相反—— PSP 上采用的安全系统非常多样化,有些部分至今仍是个谜。

现在,我们都知道它的实现方式存在隐患,最终导致了自制软件和盗版的出现,但考虑到它是 2004 年发布的便携式游戏机,你可能会发现与竞争对手相比,它捆绑了某些最先进的算法。

物理安全

下面我将介绍运行安全相关操作的三种主要芯片。 对于初学者来说,算法可能相当复杂,但我还是会试着简单介绍一下。 如果您觉得有趣,请不要忘记查看参考文献,这篇文章主要关注的还是 PSP 本身。

在整个介绍过程中,请记住,出于安全原因,索尼没有公开这些信息的文档,此外,索尼还为与安全相关的例程贴上了愚蠢的标签。

此外,我无法逐一介绍每种密码系统,因为这些复杂的话题会使文章偏离主要目标。 不过,我还是请大家从其他渠道了解每种算法背后的逻辑。

KIRK

首先,我们来看 KIRK,它是 Tachyon 的另一个组件。 KIRK 是以下算法的硬件实现(可将其视为加速器) :

简而言之,CPU 向 KIRK 发送指令(如"使用算法 x 和密钥 y 加密此字符串")。 KIRK 也可以作为总线主控,因此它可以立即将结果存储到主 RAM 中。

Lepton

众所周知,UMD 光盘不易复制,其内容也是以加密形式存储的。 不过,用户永远不会注意到这一点,因为解密过程是由硬件执行的。

与 Tachyon 并行的另一个名为 Lepton 的 SoC 可控制 UMD 驱动器,并充当主 CPU 和 UMD 内容之间的中介。

Lepton 中包含大量电路,你甚至可以认为它是 PSP 内的另一台计算机。 该组件包括自己的 CPU、用于解码的 DSP、作为缓冲区的 480 KB 内存以及用于存储固件的 384 KB ROM。

主 CPU 通过 ATAPI 协议与 Lepton 通信,该协议是一般用于传统 CD/DVD 驱动器与 PC 的连接。 但主要区别在于,Lepton 只有在光盘被识别为真实光盘的情况下才能解密 UMD 中的数据。

SPOCK

除了由 Lepton 处理的加密系统外,UMD 的扇区也使用 AES 加密。 SPOCK 是和 KIRK 同级的另一个区块,主要用于解密 UMD 光盘的扇区。

在 NAND 闪存中,IDStorage 存储了一个被称为"主密钥"的加密密钥。 SPOCK 包含用于解密的硬连接密钥。 解密后的主密钥会被 SPOCK 用来解密 UMD 中的另一个密钥。 然后使用后一个密钥读取每个扇区。 Easy-peasy!

顺便一提,尽管 SPOCK 位于 Tachyon 内部,但它由 Lepton 控制。

总之,通过硬件中集成的程序,系统在执行游戏时无需消耗通用资源来加密/解密。

软件安全

操作系统将利用硬件构建一个安全系统。 总之,软件保护遵循以下原则:

击败

尽管有种种安全措施,黑客们似乎从未放弃过对这款主机的研究,也许是因为它的诸多优点对自制软件开发有巨大的吸引力。 请注意,这一领域的内容数量惊人,所以我必须在某个地方划出休止符。 因此,这里只提及一些重大发现。 如果想要知道更多的话,playstationdev.wiki 保存了一份完整的档案。

早期错误

PSP 在日本发布后不久,就有用户级漏洞被挖掘出来。 其中一些使用了早期固件版本中存在的安全漏洞:

这些早期错误帮助建立了 PSP 内部运行方式的知识库,从而能开发出更多的攻击载体和软件程序,以便与硬件进行交互(请记住,只有游戏工作室才能获得官方 SDK 和文档)。

就像其他猫鼠游戏一样,索尼以被新游戏依赖的系统更新作为回应,而更新的漏洞(所谓的 "TIFF"、"GTA"漏洞等)则不断出现。 值得一提的是,由于尚未获得内核访问权限,它们只能被视为"自制程序的起点"。

降级

Image
Chronoswitch 降级器,一款现代化的降级工具

索尼公司凭借带有安全补丁的强大固件更新和像网络浏览器这样吸引人的功能更新系统之后,旧版本就成了某种应许之地,高级用户可以在这里运行他们的自制软件。 然而,要获取特定系统版本的 PSP 变得越来越困难。 因此,"降级"迅速流行起来。 降级与升级相反,是将当前安装的固件替换为更早更容易利用的版本。

执行降级的常见方法包括利用漏洞欺骗系统安装旧的更新文件。 这并不容易,因为它依赖于越来越少的最新版本上的漏洞。

最终,市场上出现了两种"modchips":"Undiluted Platinum"和"PSP-Devolution"。 这两款产品在出厂时都配备了单独的 NAND 芯片,用作次级 NAND 存储,使用户能够启动可利用的次级固件或替换主固件。 这种方法仅支持 PSP 1000 型号,因为后来的型号合并了 Tachyon 和 NAND + DDR SDRAM 的封装。

神电

猫鼠游戏终结于"Pandora"的到来。

"Pandora 电池法"是一个广受欢迎和尊重的成就集合。 它设法绕过了大部分安全层,并把重点放在了索尼无法快速反应的地方:Pre-IPL。 这是 Pandora 成功的方法 :

剩下的工作就是嵌入一个有效的载荷。 最受欢迎的选项包括"de-bricker",它可以在 PSP 上重新安装一个干净的官方固件(如果 NAND 先前已损坏,则可以修复它)、"降级器"或自定义固件安装程序。

别忘了,所有这些都是艰巨的任务,特别是考虑到 KIRK 没有被逆向,并且使 Pre-IPL "跳转"的加密块必须通过暴力计算得出。

CFW及其他

Image
有些 CFW 包括特殊模块,用于操作底层选项

Pandora 对索尼来说是一个沉重的打击——它是一个有效的引导程序漏洞,就像任天堂 DS一样,只能以新硬件的形式修复。

此外,在潘多拉发布之前,所谓的定制固件(Custom Firmware)或称"CFW"也早已到来。 CFW 是经过修改的官方固件(如加入了自制模块)。 这些定制模块享有内核权限,而且正如你可能猜到的那样,它们可以完全控制主机。 新模块的例子包括 ISO 加载器、签名禁用器、低级 CPU 管理、"插件"加载器(无需重新安装固件即可添加更多自定义功能),以及许许多多其他模块。 黑客们制作了他们自己的版本,如 M33、PRO 和 ME。

利用任何内核级漏洞,CFW 可以在当前固件上安装(这是最早的方法)。 不过,它只能利用 Pandora 曾经使用的漏洞绕过签名检查自动启动。 否则,用户需要要依赖猫鼠游戏漏洞重新启动 CFW。 这就是为什么最新的 PSP 型号无法使用老办法启动 CFW。

最后一根稻草是PlayStation 3安全系统黑客攻破,因为PS3 的操作系统包含一个 PSP 模拟器,其中包含用于解密 PSP 可执行文件的私钥。 这使得任何人都可以对嵌入内核漏洞的用户级软件进行签名,以生成 CFW 安装程序和/或 CFW 加载程序等。

最近,有人发现最新固件在启动过程中包含一个内核漏洞,可用于启动所选择的 CFW。 这被打包在名为 Infinity 2 的解决方案中。

总而言之,索尼公司声称 UMD 无法破解是正确的。 毕竟,黑客攻击的实现反而要归功于众多软件缺陷。

鼓励自制

自制软件开发不仅局限在破坏安全机制上,还有一些社区致力于为自制软件开发者提供必要的工具,使他们能够在不受法律影响的情况下构建自己的软件。 例如,pspdev 小组发布了一个名为PSPSDK的开源 SDK,该 SDK 复刻了许多官方接口,并且没有施加索尼的限制。

PSPSDK 还包括一个处理编译和打包过程的工具包,就像官方 SDK 一样,但目标是运行了 CFW 的 PSP。


Previous: 9. 游戏

Next: 11. 这就是全部了,伙计们。


Rodrigo Copetti © 2026 RSS Feed

切换至现代版

主页 · 文章 · 支持 · 关于作者 · 关于此网站