Данная инструкция написана исключительно для ознакомления с процессом создания чистых BOOT0/1. Не используйте полученные файлы без чёткого понимания что это такое и зачем оно нужно. И уж тем более предварительно сделайте резервную копию ваших BOOT0 и BOOT1 разделов, в каком бы они состоянии ни были. На данный момент инструкция опирается на структуру файлов для процессоров под кодовым именем Erista. Дальнейшая доработка инструкции возможна при наличии свободного времени и желания.
nca
или двойным cnmt.nca
. Имена файлов не ясны с первого взгляда и выглядят как мешанина из цифр от 0 до 9 и букв от a до f общей длиной 32 символа (без учёта расширения).keys.prod
полученный, например, при помощи Lockpick_RCMФайл → Новый
или нажмите Ctrl + N
Правка → Вставить байты…
и укажите числоПоиск → Перейти к…
или нажмите Ctrl + G
Файл → Открыть…
или нажмите Ctrl + O
Правка → Выделить всё
или нажмите Ctrl + A
Правка → Копировать
или нажмите Ctrl + C
Правка → Вставить с заменой
или нажмите Ctrl + B
Файл → Сохранить
или нажмите Ctrl + S
hactool.exe
из архива с программойkeys.prod
recreate_boot_by_yoti.bat
в рабочую папку@echo off title Recreate boot partitions script by Yoti (v20210414) echo Recreate boot partitions script by Yoti (v20210414) 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 1_%%~ni rd /s /q 1_%%~ni hactool -x -k prod.keys --disablekeywarns -t nca --romfsdir=1_%%~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 2_%%~ni rd /s /q 2_%%~ni hactool -x -k prod.keys --disablekeywarns -t nca --romfsdir=2_%%~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 3_%%~ni rd /s /q 3_%%~ni hactool -x -k prod.keys --disablekeywarns -t nca --romfsdir=3_%%~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 4_%%~ni rd /s /q 4_%%~ni hactool -x -k prod.keys --disablekeywarns -t nca --romfsdir=4_%%~ni %%i >nul goto thisistheend ) ) :thisistheend echo Done!!! pause
Done!!!
1_
(далее <1>
) и так далее.400000
, точка ниже на hex
, значение 00
0
, точка ниже на hex
, от начала
<1> или <3> → nx → bct
<1> или <3> → a → bct
8000
, точка ниже на hex
, от начала
<2> или <4> → nx → bct
<2> или <4> → a → bct
4000
, точка ниже на hex
, от начала
C000
, точка ниже на hex
, от начала
<1> или <3> → nx → package1
<1> или <3> → a → package1
100000
, точка ниже на hex
, от начала
140000
, точка ниже на hex
, от начала
<KeyBlob>
180000
, точка ниже на hex
, от начала
<NandPatrol>
184000
, точка ниже на hex
, от начала
BOOT0_NEW_CLEAN
400000
, точка ниже на hex
, значение 00
0
, точка ниже на hex
, от начала
<2> или <4> → nx → package1
<2> или <4> → a → package1
40000
, точка ниже на hex
, от начала
BOOT1_NEW_CLEAN