A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 14109|回复: 69

[破解] 从技术角度描述一下SLIM360这次reset glitch hack是咋回事。个人原创观点。

[复制链接]
该用户已被禁言

精华
0
帖子
228
威望
0 点
积分
250 点
种子
0 点
注册时间
2005-3-15
最后登录
2019-12-8
 楼主| 发表于 2011-8-31 20:48  ·  北京 | 显示全部楼层 |阅读模式
开此贴的目的,是从纯技术的角度来描述一下个人对这次reset glitch hack的理解。

这是一个扫盲贴,所以不会有艰深的理论,小白也可以看。但是出于尊重,请不要在回帖中说类似于“你说的这些都没用,我就关心什么时候能硬盘跑游戏”之类的话。

另外由于是个人理解,所以可能会有错误。

XBOX360在启动时,CPU会有一个模块对比启动部分的代码是否正确为原版。如果和存储的特征值不同,就不会让系统继续启动。如果要运行自制系统,首先要搞掉这个保护功能。

XBOX360的CPU存在一个设计缺陷。就是如果给出一个非常短的复位信号,按理说机器会复位,但是实际上,CPU不会重新启动,而会发生一些功能错误,如果这个在非常恰当的时候,给出这个脉冲的话,那个保护模块就会错误的返回一个“没有问题”的信号,这样,系统就会继续启动了。

下面就是如何在恰当的时候发出一个足够短的复位脉冲的问题了。

在胖版中,破解者发现,如果给CPU一个脚(CPU_PLL_BYPASS)一个信号,就会让CPu的频率变得非常慢。然后这时就可以用相对长的复位脉冲来达到让CPu错乱的目的。

在slim版中,这个信号脚没有了。这就无法让CPU跑在一个慢的频率上,所以产生这个复位脉冲的难度就变大了,因为产生特别短的电脉冲是有难度的。而且你还必须控制这个时序。难上加难。

不过破解者又发现了一个方法。就是时钟芯片。XBOX360用的时钟芯片可以用IIC总线给一些指令进去(IIC是一种常用的管理总线),让他产生较低的频率,但也不是太低,大概是100兆这样。然后再用一个20纳秒宽度的脉冲,在启动到某个特定时刻(这个靠监视一些脚可以知道),发到CPu的复位脚上去。这样,也可以达到相同的效果。

所以,除了原理以外,技术上还有2个问题,1是在启动到什么时候,发送这个脉冲。2是产生一个足够短的脉冲。

破解小组使用了XILINX(世界最大的可编程逻辑器件公司,第二大是altera)的CPLD(复杂可编程逻辑器件),型号是XC2C64A。
这是XILINX公司最便宜的CPLD之一,有如下特性:
1,超低功耗。2,触发器支持双沿触发(可以理解成这个芯片可以让48兆时钟能拿来当96兆用)。3,速度快。4同一个芯片,支持不同电压。

所以在slim的破解中,这一颗芯片肩负了给时钟芯片的IIC总线发送指令的任务。(3.3V电平)还肩负了探测CPU启动状态,用计数器来计算时间,在恰当的时刻给出短脉冲,然后在回复时钟芯片内容的任务。时钟信号用的就是XBOX360本身的48兆时钟信号。

要注意,这里用XC2C64A,仅仅是因为,他足够的便宜,而不是因为他是最牛逼的。能达到和超过这片CPLD性能的片子,比比皆是,但是都更贵。所以现在有炒这个片子的,我觉得意义不大,炒不了多高。比如说,XC2C128一定能实现他的功能,只是比较贵。你再贵,也不能比替代品贵,对吧。另外,用FPGA来实现目前的工作,会更好更可靠。FPGA内部的数字时钟管理模块可以直接多倍频,计数器可以跑在远高于现在96兆的频率上,计数更精确,能够产生的脉冲更短。就是都比较贵(最便宜的XC3S50AN要20多),而且封装都比较大,管脚多,还需要多个电压。所以综合来看,破解小组使用XC2C64A是合理的,有性价比的选择。

至于为什么用C-MOD,C-MOD是XC2C64A的最小系统。用起来方便,仅此而已。

再说说关于那个220pf电容的问题。那个电容可以让脉冲更短一点,可能还有点滤除噪声的作用。我觉得并不是特别重要,如果破不了的话,倒是可以尝试改变一下那个电容的大小,可能会有点用。

以上是通读wiki和目前放出文档以后,对slim360破解技术细节的一些看法。权当扫盲用。有错误请指正。

评分

1

查看全部评分

版主

Realtek AC’97

精华
0
帖子
15353
威望
13 点
积分
16534 点
种子
15 点
注册时间
2010-5-7
最后登录
2024-3-22
发表于 2011-8-31 20:52  ·  上海 | 显示全部楼层
嗯,说的已经非常白话了,而且详细解释了破解的原理,顶楼主一个

精华
0
帖子
2833
威望
0 点
积分
2868 点
种子
7 点
注册时间
2011-1-14
最后登录
2021-5-10
发表于 2011-8-31 20:55  ·  上海 | 显示全部楼层
本帖最后由 我不会飞 于 2011-8-31 20:57 编辑
小狼052 发表于 2011-8-31 20:52
嗯,说的已经非常白话了,而且详细解释了破解的原理,顶楼主一个


想出这个破解的人估计以前动过银行的ATM机....

精华
0
帖子
727
威望
0 点
积分
650 点
种子
45 点
注册时间
2009-10-21
最后登录
2024-6-2
发表于 2011-8-31 20:57  ·  湖南 | 显示全部楼层
太技术了,详细拜读后对这次的破解有详细的认知了, 非常感谢楼主
该用户已被禁言

精华
0
帖子
51
威望
0 点
积分
51 点
种子
0 点
注册时间
2011-2-23
最后登录
2020-1-11
发表于 2011-8-31 21:13  ·  广东 | 显示全部楼层
技术贴!顶楼主!!

精华
0
帖子
1504
威望
0 点
积分
1469 点
种子
0 点
注册时间
2010-1-8
最后登录
2014-5-29
发表于 2011-8-31 21:14  ·  湖北 | 显示全部楼层
本帖最后由 xyz888 于 2011-8-31 21:16 编辑

简单的理解为一句话:
通过CPU内部错误反馈管理缺陷获取CPU使用权限,执行未加密指令

精华
0
帖子
146
威望
0 点
积分
151 点
种子
0 点
注册时间
2010-8-18
最后登录
2018-4-19
发表于 2011-8-31 21:22  ·  山东 | 显示全部楼层
绝对是黑客级别的破解方法。

精华
0
帖子
551
威望
0 点
积分
558 点
种子
5 点
注册时间
2010-5-9
最后登录
2014-12-17
发表于 2011-8-31 21:22  ·  广东 | 显示全部楼层
感谢楼主~~~算是明白了一点
该用户已被禁言

精华
0
帖子
175
威望
0 点
积分
181 点
种子
0 点
注册时间
2007-12-19
最后登录
2020-1-9
发表于 2011-8-31 21:23  ·  北京 | 显示全部楼层
xyz888 发表于 2011-8-31 21:14
简单的理解为一句话:
通过CPU内部错误反馈管理缺陷获取CPU使用权限,执行未加密指令

那就相当于,每系统发一次指令,就得反馈错误一次。比如从游戏退出来一次,就要整一次,然后进入游戏又要整一次。搞不好游戏中还时不时的有指令。

征服者

流放者(禁止发言)

精华
0
帖子
5939
威望
0 点
积分
6320 点
种子
28 点
注册时间
2009-11-1
最后登录
2024-6-2
发表于 2011-8-31 21:24  ·  广东 | 显示全部楼层
硬件级别了...
支持楼主一个!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-6-3 19:56 , Processed in 0.259427 second(s), 28 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部