nsw:man:boot
Это старая версия документа!
Содержание
Создание чистых BOOT0/1
Предупреждение
Данная инструкция написана исключительно для ознакомления с процессом создания чистых BOOT0/1. Не используйте полученные файлы без чёткого понимания что это такое и зачем оно нужно. И уж тем более предварительно сделайте резервную копию ваших BOOT0 и BOOT1 разделов, в каком бы они состоянии ни были. На данный момент инструкция опирается на структуру файлов для процессоров под кодовым именем Erista и резервные копии разделов FAT32 варианта прошивки. Дальнейшая доработка инструкции возможна при наличии свободного времени и желания.
Нам понадобится
- Файлы прошивки - обычно идут в виде архива с кучей файлов с расширением
nca
или двойнымcnmt.nca
. Имена файлов не ясны с первого взгляда и выглядят как мешанина из цифр от 0 до 9 и букв от a до f общей длиной 32 символа (без учёта расширения). - HEX-редактор - используйте свой любимый или, если такового не имеется, загрузите и установите бесплатный HxD
- Утилита hactool от SciresM
- Ваш файл
keys.prod
полученный, например, при помощи Lockpick_RCM
Основные команды HxD
- Создайте новый файл - выберите
Файл → Новый
или нажмитеCtrl + N
- Заполните файл нолями - выберите
Правка → Вставить байты…
и укажите число - Перейдите по адресу - выберите
Поиск → Перейти к…
или нажмитеCtrl + G
- Откройте файл - выберите
Файл → Открыть…
или нажмитеCtrl + O
- Выделите содержимое файла - выберите
Правка → Выделить всё
или нажмитеCtrl + A
- Скопируйте содержимое файла - выберите
Правка → Копировать
или нажмитеCtrl + C
- Вставьте содержимое файла - выберите
Правка → Вставить с заменой
или нажмитеCtrl + B
- Сохраните файл - выберите
Файл → Сохранить
или нажмитеCtrl + S
Получение нужных файлов
- Скачайте и распакуйте архив с прошивкой (далее - рабочая папка)
- В рабочую папку поместите
hactool.exe
из архива с программой - В рабочую папку поместите ваш файл
keys.prod
- Загрузите скрипт-распаковщик
recreate_boot_by_yoti.bat
в рабочую папку
- recreate_boot_by_yoti.bat
@echo off title Recreate boot partitions script by Yoti (v20210413) echo Recreate boot partitions script by Yoti (v20210413) if not exist hactool.exe goto thisistheend if not exist prod.keys goto thisistheend echo Wait... for %%i in (????????????????????????????????.nca) do ( hactool -i -k prod.keys --disablekeywarns -t nca %%i | find "0100000000000819" >nul && ( echo 1. %%~ni [FAT32 Normal] if exist %%~ni rd /s /q %%~ni hactool -x -k prod.keys --disablekeywarns -t nca --romfsdir=%%~ni %%i >nul goto 081a ) ) :081a for %%i in (????????????????????????????????.nca) do ( hactool -i -k prod.keys --disablekeywarns -t nca %%i | find "010000000000081a" >nul && ( echo 2. %%~ni [FAT32 SafeMode] if exist %%~ni rd /s /q %%~ni hactool -x -k prod.keys --disablekeywarns -t nca --romfsdir=%%~ni %%i >nul goto 081b ) ) :081b for %%i in (????????????????????????????????.nca) do ( hactool -i -k prod.keys --disablekeywarns -t nca %%i | find "010000000000081b" >nul && ( echo 3. %%~ni [exFAT Normal] if exist %%~ni rd /s /q %%~ni hactool -x -k prod.keys --disablekeywarns -t nca --romfsdir=%%~ni %%i >nul goto 081c ) ) :081c for %%i in (????????????????????????????????.nca) do ( hactool -i -k prod.keys --disablekeywarns -t nca %%i | find "010000000000081c" >nul && ( echo 4. %%~ni [exFAT SafeMode] if exist %%~ni rd /s /q %%~ni hactool -x -k prod.keys --disablekeywarns -t nca --romfsdir=%%~ni %%i >nul goto thisistheend ) ) :thisistheend echo Done!!! pause
- Запустите скрипт-распаковщик в рабочей папке
- Дождитесь появления надписи
Done!!!
. Не закрывайте окно! - Если вы всё сделали правильно, в окне скрипта будет список из четырёх имён папок
Первая папка будет далее обозначаться как <1>, вторая как <2> и так далее (<3> и <4>).
Создание BOOT0
- Запустите HxD и создайте новый файл
- Заполните файл нолями: число байт
400000
, точка ниже наhex
, значение00
- Перейдите по адресу: смещение
0
, точка ниже наhex
, отначала
- Откройте файл
<1> → nx → bct
- Выделите содержимое файла
- Скопируйте содержимое файла
- Откройте вкладку с новым файлом (Без названия1)
- Вставьте содержимое файла
- Перейдите по адресу: смещение
8000
, точка ниже наhex
, отначала
- Вставьте содержимое файла
- Откройте файл
<2> → nx → bct
- Выделите содержимое файла
- Скопируйте содержимое файла
- Откройте вкладку с новым файлом (Без названия1)
- Перейдите по адресу: смещение
4000
, точка ниже наhex
, отначала
- Вставьте содержимое файла
- Перейдите по адресу: смещение
C000
, точка ниже наhex
, отначала
- Вставьте содержимое файла
- Откройте файл
<1> → nx → package1
- Выделите содержимое файла
- Скопируйте содержимое файла
- Откройте вкладку с новым файлом (Без названия1)
- Перейдите по адресу: смещение
100000
, точка ниже наhex
, отначала
- Вставьте содержимое файла
- Перейдите по адресу: смещение
140000
, точка ниже наhex
, отначала
- Вставьте содержимое файла
- Откройте файл
<KeyBlob>
- Выделите содержимое файла
- Скопируйте содержимое файла
- Откройте вкладку с новым файлом (Без названия1)
- Перейдите по адресу: смещение
180000
, точка ниже наhex
, отначала
- Вставьте содержимое файла
- РАБОТА С ОБЛАСТЬЮ NANDPATROL В ПРОЦЕССЕ НАПИСАНИЯ
https://switchbrew.org/wiki/Flash_Filesystem#NAND_Patrol - Откройте файл
<NandPatrol>
- Выделите содержимое файла
- Скопируйте содержимое файла
- Откройте вкладку с новым файлом (Без названия1)
- Перейдите по адресу: смещение
184000
, точка ниже наhex
, отначала
- Вставьте содержимое файла
- Сохраните файл: введите имя, например,
BOOT0_NEW_CLEAN
- Проверьте размер файла, он должен быть ровно 4,00 МБ (4 194 304 байт)
Создание BOOT1
- Запустите HxD и создайте новый файл
- Заполните файл нолями: число байт
400000
, точка ниже наhex
, значение00
- Перейдите по адресу: смещение
0
, точка ниже наhex
, отначала
- Откройте файл
<2> → nx → package1
- Выделите содержимое файла
- Скопируйте содержимое файла
- Откройте вкладку с новым файлом (Без названия1)
- Вставьте содержимое файла
- Перейдите по адресу: смещение
40000
, точка ниже наhex
, отначала
- Вставьте содержимое файла
- Сохраните файл: введите имя, например,
BOOT1_NEW_CLEAN
- Проверьте размер файла, он должен быть ровно 4,00 МБ (4 194 304 байт)
Источники
nsw/man/boot.1618341060.txt.gz · Последнее изменение: 2021.04.13 19:11:00 — admin