switch硬破原理分析及Hekete及大气层开源项目的介绍
1、背景
switch的破解是围绕着如何进入RCM(Recovery Mode)展开的。
工厂测试和调试: 方便任天堂进行软件的测试调试。
系统恢复: 在系统崩溃或无法正常启动时,提供一种恢复和刷写固件的途径。
早期时候的破解,利用Fusée Gelée 漏洞,利用的是预设组合键 (Switch上是短接右侧Joy-Con导轨中10pin与1、7、9pin其中之一后按住音量+ 和 电源键开机)。
目前switch硬破的漏洞来源于NVIDIA的Tegra X1芯片本身。X1可以利用短接,进入RCM。
关于实际的焊接,可以看下这个视频:https://www.bilibili.com/video/BV131rtY3EEL
硬破的焊接方案工程化了这个过程,将短接,RCM payload的注入等步骤完全自动化,一气呵成。
实现的效果就是,一键启动进入Hekate。在Hekate中可以进一步的创建emuMMC,引导启动对应的不同的OS。
芯片焊接完成之后,普通用户可以接触并制作的东西就是bootloader和system强化:
bootloader(Hekate):https://github.com/CTCaer/hekate
OS强化(Atmosphere):https://github.com/Atmosphere-NX/Atmosphere
2、做一个可以启动的SD卡玩一玩
在正式做之前,我们来看一下系统启动的流程。
正常的启动流程是通过BootROM引导至机身内部的eMMC上的HOS。
下载拷贝项目文件:
hekate_ipl.ini
[config]
autoboot=0
autoboot_list=0
bootwait=3
customlogo=1
backlight=100
autohosoff=0
autonogc=1
kip1patch=nosigchk
[EMUNAND]
fss0=atmosphere/package3
emummcforce=1
atmosphere=1
; icon=bootloader/res/icon_emu.bmp ;
{}
[SYSNAND]
fss0=atmosphere/package3
emummc_force_disable=1
stock=1
{}
[SYSNANDwithCrack]
fss0=atmosphere/package3
atmosphere=1
emummc_force_disable=1
{}