您现在的位置:&&>>&&>>&&>>&&>>&正文
深奥的XBOX360启动过程
作者:mervyn
转载tv360一篇技术贴,给大家分享一下。
以下其实只是一篇小弟自己乱七八糟翻译来自娱的文章但是它对于360启动过程的一些专有名词有相当多的释义详解小弟就斗胆把它放上来希望对有兴趣的玩家能有些帮助翻译得实在不好错谬之处也恳请大家能够深入技术指导多多批评指教
原文出处
系统启动
TheSpecialist, Xboxhacker.net:
那么就从开机说起:
1. 1BL(第一引导程序,储存在CPU的ROM里),负责加载解密并启动CB。
2. CB(2BL,第二引导程序,储存在NAND里),负责加载解密并启动CD。
3. CD 负责加载,解密和解压CE,CE包含基本内核+基本HV。 CE也是负责加载解密后启动CF。
4. CF 负责加载,解密和解压CG,CG含有内核和HV的补丁。然后,它使用补丁修补内核和HV, 启动修补过的HV,然后再启动修补过的内核。最后,它会启动dashboard。
所以基本上是这样的:1BL - & 2BL - &修补内核和HV补丁,启动它们- &启动dashboard。
每一步骤当然都要检查下一步骤的签证。
加密结构
以下是Arnezami对于不同的加密杂凑值的总结:
启动过程中使用了3种签证:
- RSA 签证:CB和CF是RSA签证。基本上因为它是使用非对称加密,所以没有办法攻破(只有MS拥有私人金钥)。这些(签证)将会阻碍我们去改变启动代码。
- SHA1 杂凑值:CD,CE和CG签证。这些散列值包含在前述RSA签证的部分内,所以我们也不可能攻破它(也无法进行时间差攻击)。这些(签证)应该可视为是CB和CF的RSA签证的扩张,并再次地阻碍我们去改变启动代码。
- SHA1-HMAC 认证:这也是由CB和CF完成(但你的CPU有它的金钥)。它可以产生防止作用,让你无法自由地选择任意发布版本的引导节区或dashboard等。幸运的是,它可以适用于时间差攻击。 (编按:这意思就是可以从这里中断正常导入程序,将再来的核心代码替换成已破解的版本,然后就可以有很多自由发挥的空间了。目前的XBReboot或FreeBoot都是从这里插入自制码的,然后再带出后面必要的东西如新版dashboard等)
转储数据
有3个基本组成部分的数据你一定会想要从Xbox 360转储出来:NAND闪存, fusesets和1BL第一引导程序。前者位于海力士HY27US08281A闪存芯片,而后两者则是位于IBM的PowerPC CPU的Xeon处理器里面。
NAND闪存
有两种方法可得到NAND闪存:
*使用Infectus Microchip的闪存烧录器,实体地读取NAND闪存。
*使用金刚漏洞与Linux由内存转储出来。
Fusesets及1BL
这两者只能使用Linux转储出来。请参照后叙Linux章节中所谈到如何提取部分的说明。
查看内容
要查看NAND闪存转储的内容,请下载最新版本的360 Flash Dump Tool来开启BIN文件。
要解码所有加密的内容,您需要位于fusesets内的CPU Key及位于CPU ROM内的1BL Key。这些金钥是使用了金刚着色漏洞及XeLL(Xeon Linux Loader)于特定版本的固件,如后才能够发现的。
1BL Key
1BL就是第一引导程序的简称,它被储存于CPU内的ROM里面。此程序大小为32KB,和1BL Key在所有的Xbox 360上都是相同的。要转储1BL,您需要编译dump32.c,并执行它来提取fuses.txt,nand.bin和1bl.bin。
由于静态金钥背后的合法性质,你必须要自己找到它(想想AACS的状况)。要查找1bl.bin内部的金钥,您需要***IDA,并使用PPC处理器的设置来反组译。
找寻1BL Key:
开始于sub_4240,请记得加密的数据位于0x_C800_0000,而未加密数据的目的地是0x01_0000,Key为0x10字节长。 %rtoc为 0。要搞清楚你是否找到了正确的金钥,就打开360 Flash Dump Tool,输入金钥,并检查是否有一个'配对数据'项目。
(编按:1BL key 其实就是DD88 AD0C 9ED6 69E7 B567 94FB 6856 3EFA)
fusesets
XENON CPU里有12个fusesets,他们形成了Xbox 360系统安全管理程序的根本。这些fusesets位于CPU的内部,因此很难从外部修改。
(编按:XXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYY 即为CPU Key)
Fuseset#01 - 00:c0ffffffffffffff
Fuseset#02 - 01:0f0f0f0f0f0f0ff0
Fuseset#03 - 02:0f00
Fuseset#04 - 03:xxxxxxxxxxxxxxxx
Fuseset#05 - 04:xxxxxxxxxxxxxxxx
Fuseset#06 - 05:yyyyyyyyyyyyyyyy
Fuseset#07 - 06:yyyyyyyyyyyyyyyy
Fuseset#08 - 07:0000
Fuseset#09 - 08:0000
Fuseset#10 - 09:0000
Fuseset#11 - 0a:0000
Fuseset#12 - 0b:0000
为了说明每个保险丝组到底有什么样的目的,请看下面这个帖子。
CPU / Per-Box Key
CPU Key只使用于加密Keyvault(而它自己则是由1BL Key加密)。藉由改变Keyvault,你就可以改变在某个特定内核里的锁定计数器,接着重新以CPU Key加密Keyvault,把内核影像烧录到NAND闪存,然后你就已经成功地降级到此特定内核。你仍然需要先从NAND闪存转储的特定内核,而且你必须已经使用金刚漏洞获得了CPU Key。
目前已经可以使用计时攻击法来攻击锁定计数器的杂凑值,而降级到某个特定内核。该计数器并未经过数位签证,其杂凑值以字节的方式进行比对。
(Xbox 360的计时攻击: )
CPU Key可以藉由结合fusetset#03 +#05(或#04 +#06)而找到。最后的字符串应该是16字节长,如xxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyy。
要提取fusesets,请使用XeLL(如下所示)或arnezami的dump32。
(编辑: 康康 )
您可以使用“← | →”键快速翻页,或者进入模式!
事件进展:
相关文章:
猜你喜欢:
热门新闻排行本周本月&&(0)&&(0)&&(0)&&(0)&&(0)&&(0)&&(0)&&xbox360开机一直闪绿灯,进不了系统,一直黑屏,光驱可以打开,可以关 ...
xbox360开机一直闪绿灯,进不了系统,一直黑屏,光驱可以打开,可以关上。求助 什么原因啊!!!
RT 求达人们帮忙啊
光驱只要通电就可以打开,黑屏进不了系统应该是硬件问题,你看看内存清洗拔插后,可以进去系统吗。不行,也许是内存坏了,或者其他硬件问题,可以用主板诊断卡测试故障。
提问者的感言:谢谢您的解答!
其他回答1条
光驱只要通电就可以打开,黑屏进不了系统应该是硬件问题,你看看内存清洗拔插后,可以进去系统吗。不行,也许是内存坏了,或者其他硬件问题,可以用主板诊断卡测试故障。
网友正在问
||||||||||
Copyright (C) 1999-, All Rights Reserved 版权所有 天极网络