RGH reset glitch hack
转自internet:
rgh:重置 缺陷破解
开此贴的目的,是从纯技术的角度来描述一下个人对这次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破解技术细节的一些看法。权当扫盲用。有错误请指正。
转载于:https://my.oschina.net/zhangqingcai/blog/65183
RGH reset glitch hack相关推荐
- 前端开发工程师 - 04.页面架构 - CSS Reset 布局解决方案 响应式 页面优化 规范与模块化...
04.页面架构 第1章--CSS Reset 第2章--布局解决方案 居中布局 课堂交流区 水平列表的底部对齐 如图所示,一个水平排列的列表,每项高度都未知,但要求底部对齐,有哪些方法可以解决呢? & ...
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #15 ramzswap
HACK #15 ramzswap 本节介绍将一部分内存作为交换设备使用的ramzswap. ramzswap是将一部分内存空间作为交换设备使用的基于RAM的块设备.对要换出(swapout)的页面进 ...
- css hack惯用手法
文章目录 什么是css hack?它是如何实现浏览器兼容处理的? 说明: 1. ```Eric Meryer ```的```reset.css```样式表,代码如下: 2. 对于```具有边框的元素的 ...
- 【reset.css重置文件夹】
[reset.css重置文件夹] CSS Reset是什么? 在HTML标签在浏览器里有默认的样式,例如 p 标签有上下边距,strong标签有字体加粗样式,em标签有字体倾斜样式.不同浏览器的默认样 ...
- HTML5+CSS3之快速入门 day6-day10布局,表单,css精灵,css hack,BFC规范
day06 布局核心: 盒模型(间距) 浮动 (并排) 定位 (覆盖+ 特殊位置) 定位类型position 静态定位 position:static; 默认值 静态定位不能使盒子位置变化 不适合布局 ...
- CSS Core CSS hack CSS优化
web前端2021–小白进阶之路CSS3(2) CSS Core 复杂选择器 兄弟选择器 (1)相邻兄弟选择器 选择器1+选择器2{} 要求匹配选择器2紧挨着选择器1,修改选择器2的样式 (2)通用兄 ...
- 无毛刺时钟切换(glitch free clock switching)
时钟切换电路的意义 为什么要做clock switching,在现代的SoC设计中,很多时候我们设计的模块并不是要跑在一个固定的频率下,而是根据性能和功耗的要求要跑在不同的时钟频率下,当需要降低功耗以 ...
- Unity论坛Hack –更新
Update on the Unity Forum Hack. 关于Unity论坛Hack的更新. Hi all, 大家好, On April 30, our public forum website ...
- CSS hack常用方案(摘选)
邮箱因为默认了line-height?:170%,导致采用table元素时继承问题,可以采用line-height:50% 很好解决. 常 在使用float时,后面的显示不正常,因为继承了float了 ...
最新文章
- Codeforces Round #643 (Div. 2)题解
- C++ 基础知识总结
- ProGuard的返回错误代码1。异常的解决方法
- C#苹果应用开发——第一讲初始Xamarin
- Java取得当前类的路径
- numpy维度交换_“lazy”的transpose()函数——从numpy 数组的内存布局讲起
- 行为型设计模式之解释器模式(Interpreter)
- 宅在家里写数据库中DML(增删改)
- 企业网站+Axure企业官网通用模板+公司官网通用模板+web端高保真原型+门户官网+物流企业+门户网站+服务中心+产品中心+新闻中心+帮助中心+企业官网+公司官网+公司网站+登录注册+高保真交互
- Java程序模拟QQ空间登录 - 并模拟刷说说的赞(图文) 注意:腾讯修改了加密算法,已失效(2015-01-31)
- 【图像融合】基于matlab PCA图像融合【含Matlab源码 723期】
- C#简单游戏外挂制作(以Warcraft Ⅲ为例)
- Hive元数据存储和表数据存储
- 关于SAXReader 读取文件乱码问题
- 双向绑定 / proxy 代理 整理
- 教师必备APP I TOP10 2023
- 西电计算机绘图试题及答案,【图】- 西安电子科技大学2021春 计算机绘图(大作业)答 - 苏州常熟常熟周边其他教育培训 - 苏州百姓网...
- iaaS 基础设施服务,PaaS 平台服务,SaaS 软件服务- 的区别
- python做地图导航_【python】地图做图问题
- 转 Linux块设备加速缓存bcache和dm-cache 使用SSD来加速服务器