xbox360吧 关注:267,212贴子:6,109,569

回复:Xbox360保护和破解的历程

只看楼主收藏回复

因此,我们还修补了南桥(SMC)的固件,使其不会受到原来的设定,以及不成功的脉冲的影响,并设置为可以无限制重新启动游戏机,直到它成功启动
所以,我们得到方法
—修补SMC,防止红灯
—减速CPU(降低CPU运行频率,通过PLL或者i2C)
—等待POST的信号,来触发脉冲条件
—等待n微秒
—发送长度为n微秒的重置脉冲信号
—恢复cpu频率使其正常运行执行代码
如果没有成功启动,重复执行以上步骤


IP属地:浙江来自Android客户端112楼2023-10-15 19:49
收起回复
    为了提高计算的准确性,从同一 HANA 芯片中获取频率 (48 MHz) Ext_CLK,来发送脉冲信号的时候,保证同步性
    基于廉价的 CPLD Xilinx XC2C64A 得到了这个设计
    (Matrix Glitcher)(CoolRunner Glitch)



    IP属地:浙江来自Android客户端113楼2023-10-15 19:53
    回复
      2026-01-14 18:45:34
      广告
      不感兴趣
      开通SVIP免广告
      不要忘记调整重置接线(1.0 PLL,2.0 RST)的长度和位置(注意照片底部的“线圈”)并继续,希望不断重复脉冲过程能在一分钟内完成。
      但这只是从硬件方面来说。我们如何修补引导加载程序并插入我们的代码?
      修补引导加载程序:
      正如我已经提到的,二级引导程序“CB”可受到攻击。
      早期,这个bootloader是用固定密钥加密的,所有游戏机都一样,但是“CB”不能修改,我们只能攻击它。
      而且不能进行JTAG的CB版本已经用 CPU 密钥加密,每个游戏机的CPUKey都是唯一的。要修改这个CB,你需要知道这个密钥......
      或者不需要?
      在 Xbox 360 的旧“厚”版本中,“CB”加载器支持所谓的“零配对”模式,该模式在游戏机的生产阶段使用。在每个加载程序的标头中偏移量 0x10 处有一组随机数据“配对数据”,用作解密密钥的一部分。如果该数据集完全由零组成(“零配对”),则处理器密钥将被忽略,并使用固定的零密钥进行解密!


      IP属地:浙江来自Android客户端114楼2023-10-15 19:58
      收起回复
        使用这个技巧,可以使用原始“CB”组装固件,但是使用零密钥加密下一个引导加载程序“CD”(已经使用自己的代码),并使用 RGH 启动它!


        IP属地:浙江来自Android客户端115楼2023-10-15 20:04
        收起回复
          在“Slim”主机中,这个技巧也被拒绝了,取消了“零配对”模式,并将“CB”分成两部分。这里“CB”被分为一个非常简单且小的“CB_A”和一个加密的处理器密钥“CB_B”
          注:在14717系统更新以后,旧的厚机也更新成为了双CB引导,所以也需要RGH2.0


          IP属地:浙江来自Android客户端116楼2023-10-15 20:07
          回复
            但RC4算法加密(即“CB_B”就是用该算法加密)有一个特点。可以基于密钥的加密过程生成与原始数据进行二进制“相加”(xor) 的伪随机数据流。
            在解密时,会发生同样的事情;因此解密只需要使用相同的伪随机流,进行加法。会将数据返回到其原始值:


            IP属地:浙江来自Android客户端117楼2023-10-15 20:15
            回复
              二进制加法运算是可交换和关联的,这意味着我们可以在不知道密钥的情况下修改加密数据,只需将加密代码与我们需要的补丁再次进行 异或xor 即可!


              IP属地:浙江来自Android客户端119楼2023-10-15 20:18
              回复
                因此,我们可以加密“CB_A”,修补加密的“CB_B”(使其根本无法解密),然后将我们的代码放入清晰的“CD”中!
                注:因为根本无需解密,所以说可以有通用ecc。但没有存在多久


                IP属地:浙江来自Android客户端120楼2023-10-15 20:22
                回复
                  2026-01-14 18:39:34
                  广告
                  不感兴趣
                  开通SVIP免广告
                  简而言之,如果你把它们放在一起,启动看起来像这样:
                  (XeLL 是一个自制软件,Linux 加载程序,它还显示 CPU 密钥)



                  IP属地:浙江来自Android客户端121楼2023-10-15 20:23
                  收起回复
                    微软的反击
                    当然,微软试图修补一切。
                    在新的系统更新中,所有旧游戏机均切换为“CB_A”和“CB_B”“单独”加载并且烧写了cpu熔丝,从而最终关闭“零配对”模式。在 Slim 上,引导加载程序也已更新。新的引导加载程序经过认真改进以防止 RGH,其中最重点是保护“CB_A”:
                    完全删除 POST 中的调试输出
                    为了可靠性,哈希检查已重做并重复。
                    在整个代码中,我们将 sleep() 放置在随机时间(取决于 CPU 密钥!!)
                    添加了 CBLDV 熔丝检查,以便能够调用“CB_A”


                    IP属地:浙江来自Android客户端122楼2023-10-15 20:43
                    回复
                      这份创新清单没有给 RGH 留下任何机会。但让我们注意列表中的最后一项
                      - 在此之前,“CB_A”没有保险丝检查!致命缺陷。
                      此外,正如我们所记得的,处理器密钥不参与解密“CB_A”。
                      这意味着存在 RGH 漏洞的引导加载程序“CB_A”可以在任何控制台上启动,并且无法禁止。
                      但为了利用这个易受攻击的“CB_A”来启动某些东西,你需要稍微躲避一下。如果不知道CPU密钥,我们所能做的就是修补现有的“CB_B”。
                      但是,如果我们不修改各个部分,而是对整个引导加载程序进行异或呢?因此,我们将“编写”旧的引导加载程序(我们已经知道如何修补)来代替新的引导加载程序?这就是他们所做的
                      以与原始图像相同的方式加密易受攻击的“CB_A”
                      将我们的“CB_B”与新的“CB_B”进行异或,得到“差异”
                      我们把它放在加密的“CB_B”上!


                      IP属地:浙江来自Android客户端123楼2023-10-15 20:50
                      回复
                        就这样,我们再次在不知道密钥的情况下成功替换了加密内容,并且还插入了易受攻击的引导加载程序。游戏机再次可以遭到黑客攻击,微软感到惊讶。
                        开发者们绞尽脑汁,在下一次系统更新中……他们稍微改变了“CB_B”加密方式,现在版本的加密密钥也开始依赖于“CB_A”


                        IP属地:浙江来自Android客户端124楼2023-10-15 21:20
                        回复
                          现在,当尝试异或并将数据传输到旧版本的易受攻击的“CB_A”时,引导加载程序由于密钥的差异而把它当做垃圾,什么都没有解密。
                          新的引导加载程序无法被黑客攻击;它受到很好的保护,免受脉冲故障攻击。至此,微软胜利了!
                          更新所造成的问题:
                          与此同时,Xbox 360的新版本Corona 9.6a slim进入市场,给改装者带来了问题


                          IP属地:浙江来自Android客户端125楼2023-10-15 21:25
                          回复
                            板上的芯片还不够,你不觉得吗?
                            没错,HANA芯片“隐藏”在南桥中,南桥从PSB升级成了KSB,集成了HANA和4gb存储emmc控制器。
                            暂时没有其他地方可以获取 mod 芯片所需的 48 MHz 频率;以前通过 i2C 的减速命令暂时没了办法起作用。
                            为什么,因为多年来充当 Xbox 360 系统存储的 16 MB NAND 闪存驱动器(或Arcade版本Jasper的256MB,512MB)。
                            被奸诈地替换为带有 eMMC 接口的 4 GB 芯片!
                            (虽然是在更便宜的控制台版本中,仍然如此):


                            IP属地:浙江来自Android客户端126楼2023-10-15 21:35
                            回复
                              2026-01-14 18:33:34
                              广告
                              不感兴趣
                              开通SVIP免广告
                              但没关系,已经解决了一切。黑客们弄清楚了如何通过读卡器读取/写入闪存。不要忘记接地晶振




                              IP属地:浙江来自Android客户端127楼2023-10-15 21:39
                              回复