该文由xbox-sky编译
http://www.free60.org/wiki/Documentation
Xbox 时代的破解组织 Team Linux 正式启动 Xbox 360 Linux 项目,提供了一些初步资料。
·每台Xbox 360都有一个唯一的密码存放在CPU中。
·主板上的TSOP芯片使用这个CPU密码加密存放在里面的程序和数据,例如操作系统。
·启动程序存放在CPU中。
·CPU中包含了一个可写的随机存取存储器(RAM),保存内核运行状态的的校验值(RAM checksums)。
·CPU中的系统管理程序(Hypervisor) 会检验 RAM checksums,一旦被篡改,系统就崩溃。
·所有中断程序、错误处理也都由 Hypervisor 进行调度和控制。
·所有的程序都运行在内核模式(Kenel Mode)。
·兼容Xbox游戏的模拟器更新,可以通过微软提供的补丁下载刻录成光盘后完成。这些程序经过公匙(public key) 加密。
·硬盘采用7针的 SATA 接口连接主机,在内部则是通过标准的 SATA 接口。
引用:
·The flash is encrypted with a per-box key
·The key is stored inside the CPU
·The boot ROM is stored inside the CPU
·Also inside the CPU is a hypervisor that verifies the running state of the kernel, making sure there is no modification (RAM checksums), else the Xbox360 panics and blows up!
·The CPU contains RAM inside of it to store the checksums
·All interrupt/exception handling is done by the hypervisor
·All code runs in kernel mode
·The emulator for first generation games can be updated via an official Microsoft download burned to CD by the user, though the CDs' content will be encrypted and signed with public key cryptography.
·The Xbox 360's Hard Disk appears to connect to the Xbox 360 via 7-pin SATA, internally the drive connects to the external connector through standard SATA data and power connectors. This should be of some help.
11.30 更新:
http://www.xbox-scene.com/xbox1data/sep/EEFFFFkklFhaWfHzuj.php
Free60.org 过去几天更新了一些资料。
硬盘:目前采用的是三星或者希捷的20G硬盘,文件格式不明,可能是 FATX 或者 NTFS 的派生格式,所以不能确定硬盘上的内容是否加密。链接中能够找到 SATA 接口的定义。
启动:这是 IBM PowerPC 64-bit 970FX CPU 的启动机制,虽然不是 Xbox 360 使用的CPU,但是情况类似。
USB 接口:能够连接 iPod 以及其他使用HFS+、FAT格式的标准USB闪存中的数据。
核心代号:美版首批主机的核心代号(Kernel) 是 K: 2.0.1888.0,菜单代号(Dashboard) D: 2.0.1888.0。连上 Xbox Live 更新后,核心代号和菜单代号变成 K: 2.0.2241.0、D: D:2.0.2241.0、BK: 2.0.1888.0。这样看来,系统会将之前的一个核心程序保留在TSOP或者其他芯片中备用,推测可以通过软件方法读取这些程序,不再需要硬件方法去修改或者替换。
XEX 运行文件:Xbox 360采用的运行文件后缀为 .xex,看上去是将 PPC PE 的执行文件打包在内,所以可以解释为什么这种文件的容量是GB级别的(之前看到不少图片显示 .xex 文件都是超过1GB字节)。另外可能 Xbox 360 知道如何将这些巨型 .xex 文件分拆,只读取需要的一个区间到内存中,然后再需要的时候再解密和解压缩,而不是以前的一次全部读取。
.xex 文件的结构为:
- 32 字节的头文件
- 变长的程序、区间的头文件
- 程序、区间的数据