PS Wiki

Живее всех живых

Инструменты пользователя

Инструменты сайта


nsw:man:boot

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
nsw:man:boot [2021.04.13 21:10:15] adminnsw:man:boot [2021.07.03 13:21:18] (текущий) admin
Строка 3: Строка 3:
  
 ===== Предупреждение ===== ===== Предупреждение =====
-Данная инструкция написана исключительно для ознакомления с процессом создания чистых BOOT0/1. Не используйте полученные файлы без чёткого понимания что это такое и зачем оно нужно. И уж тем более предварительно сделайте резервную копию ваших BOOT0 и BOOT1 разделов, в каком бы они состоянии ни были. На данный момент инструкция опирается на структуру файлов для процессоров под кодовым именем Erista и резервные копии разделов FAT32 варианта прошивки. Дальнейшая доработка инструкции возможна при наличии свободного времени и желания.+Данная инструкция написана исключительно для ознакомления с процессом создания чистых BOOT0/1. Не используйте полученные файлы без чёткого понимания что это такое и зачем оно нужно. И уж тем более предварительно сделайте резервную копию ваших BOOT0 и BOOT1 разделов, в каком бы они состоянии ни были. На данный момент инструкция опирается на структуру файлов для процессоров под кодовым именем Erista. Дальнейшая доработка инструкции возможна при наличии свободного времени и желания.
  
  
Строка 9: Строка 9:
   * Файлы прошивки - обычно идут в виде архива с кучей файлов с расширением ''nca'' или двойным ''cnmt.nca''. Имена файлов не ясны с первого взгляда и выглядят как мешанина из цифр от 0 до 9 и букв от a до f общей длиной 32 символа (без учёта расширения).   * Файлы прошивки - обычно идут в виде архива с кучей файлов с расширением ''nca'' или двойным ''cnmt.nca''. Имена файлов не ясны с первого взгляда и выглядят как мешанина из цифр от 0 до 9 и букв от a до f общей длиной 32 символа (без учёта расширения).
   * HEX-редактор - используйте свой любимый или, если такового не имеется, загрузите и установите бесплатный [[https://mh-nexus.de/en/downloads.php?product=HxD20|HxD]]   * HEX-редактор - используйте свой любимый или, если такового не имеется, загрузите и установите бесплатный [[https://mh-nexus.de/en/downloads.php?product=HxD20|HxD]]
-  * Утилита [[https://github.com/SciresM/hactool/releases/latest|hactool]] от SciresM+  * Утилита [[https://github.com/Yoti/hactool/releases/latest|hactool]] от [[https://github.com/SciresM|SciresM]] (сборка актуальной версии из исходников за авторством [[https://github.com/Yoti|Yoti]])
   * Ваш файл ''keys.prod'' полученный, например, при помощи [[https://github.com/shchmue/Lockpick_RCM/releases/latest|Lockpick_RCM]]   * Ваш файл ''keys.prod'' полученный, например, при помощи [[https://github.com/shchmue/Lockpick_RCM/releases/latest|Lockpick_RCM]]
 +
  
 ===== Основные команды HxD ===== ===== Основные команды HxD =====
Строка 30: Строка 31:
 <file batch recreate_boot_by_yoti.bat> <file batch recreate_boot_by_yoti.bat>
 @echo off @echo off
-title Recreate boot partitions script by Yoti (v20210413+title Recreate boot partitions script by Yoti (v20210414
-echo Recreate boot partitions script by Yoti (v20210413)+echo Recreate boot partitions script by Yoti (v20210414)
 if not exist hactool.exe goto thisistheend if not exist hactool.exe goto thisistheend
 if not exist prod.keys goto thisistheend if not exist prod.keys goto thisistheend
Строка 38: Строка 39:
 for %%i in (????????????????????????????????.nca) do ( for %%i in (????????????????????????????????.nca) do (
  hactool -i -k prod.keys --disablekeywarns -t nca %%i | find "0100000000000819" >nul && (  hactool -i -k prod.keys --disablekeywarns -t nca %%i | find "0100000000000819" >nul && (
- echo %%i + echo 1_%%~ni [FAT32 Normal] 
- if exist %%~ni rd /s /q %%~ni + if exist 1_%%~ni rd /s /q 1_%%~ni 
- hactool -x -k prod.keys --disablekeywarns -t nca --romfsdir=%%~ni %%i >nul+ hactool -x -k prod.keys --disablekeywarns -t nca --romfsdir=1_%%~ni %%i >nul
  goto 081a  goto 081a
  )  )
Строка 48: Строка 49:
 for %%i in (????????????????????????????????.nca) do ( for %%i in (????????????????????????????????.nca) do (
  hactool -i -k prod.keys --disablekeywarns -t nca %%i | find "010000000000081a" >nul && (  hactool -i -k prod.keys --disablekeywarns -t nca %%i | find "010000000000081a" >nul && (
- echo %%i + echo 2_%%~ni [FAT32 SafeMode] 
- if exist %%~ni rd /s /q %%~ni + if exist 2_%%~ni rd /s /q 2_%%~ni 
- hactool -x -k prod.keys --disablekeywarns -t nca --romfsdir=%%~ni %%i >nul+ 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  goto thisistheend
  )  )
Строка 60: Строка 81:
 </file> </file>
   * Запустите скрипт-распаковщик в рабочей папке   * Запустите скрипт-распаковщик в рабочей папке
-  * Дождитесь появления надписи ''Done!!!''. **Не закрывайте окно!** +  * Дождитесь появления надписи ''Done!!!'' 
-  * Если вы всё сделали правильно, в окне скрипта будет два имени папок\\ Первая папка будет далее обозначаться как <1>, вторая же как <2>.+  * Если вы всё сделали правильно, в окне скрипта будет список из четырёх имён папок\\ Первая папка имеет имя, начинающееся на ''1_''алее ''<1>'') и так далее.
  
  
Строка 69: Строка 90:
   * Перейдите по адресу: смещение ''0'', точка ниже на ''hex'', от ''начала''   * Перейдите по адресу: смещение ''0'', точка ниже на ''hex'', от ''начала''
  
-  * Откройте файл ''<1> -> nx -> bct''+  * Откройте файл согласно модели: 
 +    * Erista: ''<1> или <3> -> nx -> bct'' 
 +    * Mariko: ''<1> или <3> -> a -> bct''
   * Выделите содержимое файла   * Выделите содержимое файла
   * Скопируйте содержимое файла   * Скопируйте содержимое файла
-  * Откройте вкладку с новым файлом (Без названия1)+  * Перейдите на вкладку с новым файлом (Без названия1)
   * Вставьте содержимое файла   * Вставьте содержимое файла
   * Перейдите по адресу: смещение ''8000'', точка ниже на ''hex'', от ''начала''   * Перейдите по адресу: смещение ''8000'', точка ниже на ''hex'', от ''начала''
   * Вставьте содержимое файла   * Вставьте содержимое файла
  
-  * Откройте файл ''<2> -> nx -> bct''+  * Откройте файл согласно модели: 
 +    * Erista: ''<2> или <4> -> nx -> bct'' 
 +    * Mariko: ''<2> или <4> -> a -> bct''
   * Выделите содержимое файла   * Выделите содержимое файла
   * Скопируйте содержимое файла   * Скопируйте содержимое файла
-  * Откройте вкладку с новым файлом (Без названия1)+  * Перейдите на вкладку с новым файлом (Без названия1)
   * Перейдите по адресу: смещение ''4000'', точка ниже на ''hex'', от ''начала''   * Перейдите по адресу: смещение ''4000'', точка ниже на ''hex'', от ''начала''
   * Вставьте содержимое файла   * Вставьте содержимое файла
Строка 86: Строка 111:
   * Вставьте содержимое файла   * Вставьте содержимое файла
  
-  * Откройте файл ''<1> -> nx -> package1''+  * Откройте файл согласно модели: 
 +    * Erista: ''<1> или <3> -> nx -> package1'' 
 +    * Mariko: ''<1> или <3> -> a -> package1''
   * Выделите содержимое файла   * Выделите содержимое файла
   * Скопируйте содержимое файла   * Скопируйте содержимое файла
-  * Откройте вкладку с новым файлом (Без названия1)+  * Перейдите на вкладку с новым файлом (Без названия1)
   * Перейдите по адресу: смещение ''100000'', точка ниже на ''hex'', от ''начала''   * Перейдите по адресу: смещение ''100000'', точка ниже на ''hex'', от ''начала''
   * Вставьте содержимое файла   * Вставьте содержимое файла
Строка 95: Строка 122:
   * Вставьте содержимое файла   * Вставьте содержимое файла
  
-  * <color #ed1c24>**РАБОТА С ОБЛАСТЬЮ KEYBLOB В ПРОЦЕССЕ НАПИСАНИЯ**</color>\\ https://switchbrew.org/wiki/Flash_Filesystem#Keyblob+  * <color #ed1c24>**РАБОТА С ОБЛАСТЬЮ KEYBLOB (ERISTA) В ПРОЦЕССЕ НАПИСАНИЯ**</color>\\ https://switchbrew.org/wiki/Flash_Filesystem#Keyblob
   * Откройте файл ''<KeyBlob>''   * Откройте файл ''<KeyBlob>''
   * Выделите содержимое файла   * Выделите содержимое файла
   * Скопируйте содержимое файла   * Скопируйте содержимое файла
-  * Откройте вкладку с новым файлом (Без названия1)+  * Перейдите на вкладку с новым файлом (Без названия1)
   * Перейдите по адресу: смещение ''180000'', точка ниже на ''hex'', от ''начала''   * Перейдите по адресу: смещение ''180000'', точка ниже на ''hex'', от ''начала''
   * Вставьте содержимое файла   * Вставьте содержимое файла
Строка 107: Строка 134:
   * Выделите содержимое файла   * Выделите содержимое файла
   * Скопируйте содержимое файла   * Скопируйте содержимое файла
-  * Откройте вкладку с новым файлом (Без названия1)+  * Перейдите на вкладку с новым файлом (Без названия1)
   * Перейдите по адресу: смещение ''184000'', точка ниже на ''hex'', от ''начала''   * Перейдите по адресу: смещение ''184000'', точка ниже на ''hex'', от ''начала''
   * Вставьте содержимое файла   * Вставьте содержимое файла
Строка 120: Строка 147:
   * Перейдите по адресу: смещение ''0'', точка ниже на ''hex'', от ''начала''   * Перейдите по адресу: смещение ''0'', точка ниже на ''hex'', от ''начала''
  
-  * Откройте файл ''<2> -> nx -> package1''+  * Откройте файл согласно модели: 
 +    * Erista: ''<2> или <4> -> nx -> package1'' 
 +    * Mariko: ''<2> или <4> -> a -> package1''
   * Выделите содержимое файла   * Выделите содержимое файла
   * Скопируйте содержимое файла   * Скопируйте содержимое файла
-  * Откройте вкладку с новым файлом (Без названия1)+  * Перейдите на вкладку с новым файлом (Без названия1)
   * Вставьте содержимое файла   * Вставьте содержимое файла
   * Перейдите по адресу: смещение ''40000'', точка ниже на ''hex'', от ''начала''   * Перейдите по адресу: смещение ''40000'', точка ниже на ''hex'', от ''начала''
Строка 134: Строка 163:
 ===== Источники ===== ===== Источники =====
   * https://switchbrew.org/wiki/Flash_Filesystem#Boot_Partitions   * https://switchbrew.org/wiki/Flash_Filesystem#Boot_Partitions
 +  * https://gbatemp.net/threads/keyblob-0-to-5-corrupted.548659/
  
  
nsw/man/boot.1618337415.txt.gz · Последнее изменение: 2021.04.13 21:10:15 — admin