В ноябре 2009 года Microsoft провела массовую зачистку модифицированных консолей XBOX 360.
Помимо запрета на использование сервиса XBOX LIVE и лишения права воспользоваться гарантией, зачистка повлияла и на работоспособность самих консолей: бан запрещал использование функции установки игр на жесткий диск, использование медиацентра, а так же портил профили и сейвы игр.
Многим не понравился такой ход событий, и они начали искать выход из данной ситуации.
Один из зарубежных пользователей нашел выход: правильно модифицировав NAND он заставлял забыть консоль, что она забанена.
Но, к сожалению, раскрыть данный способ он не захотел: он запрашивал 30$ за самостоятельное изменение дампа NAND, гарантируя разбан.
Понадобилось совсем немного времени, прежде чем нашелся еще один человек, которому удалось определить необходимые действия для разбана: им оказался пользователь vlack форума Xboxland.net.
Все действия необходимо было выполнять вручную через HEX-редактор, многим было неудобно считать цифры вне десятичной системы. Стали появляться порграммы, автоматизирущие процесс.
Одну из таких программ и начал создавать пользователь Chook с того же форума, и назвал он ее ParseNand.
Изначально программа могла лишь самое простое: определять список блоков, которые возможно требуют изменения.
От версии к версии программа получала все новые функции: генерация файлов для изменения только нужных блоков, поддержка 256\512 дампов, сравнение и проверка дампов на целостность.
Когда программа умела выполнять почти все необходимые функции, она была переименована в EraseFSR.
Прежде чем начать изучать программу, скачайте ее: EraseFSR 0.28.
Поместите запускаемый файл в папку к NandPro для простоты выполнения команд.
Прочитав readme.txt можно узнать основной принцип работы:
Как можно было понять из описания, программа обрабатывает дамп флеш памяти консоли - NAND и генерирует команды для его изменения.
К сожалению, просто так получить доступ к NAND невозможно, для этого нужно разбирать консоль и подпаивать провода к плате консоли. Подробная инструкция по подключению XBOX 360 к ПК для работы с NAND находится здесь.
Внимателно изучите ее, выполните все необходимые действия.
Как только вы наладите соединение, можно будет приступать к работе.
Очень важно, что бы вы были уверены, что все сделали верно.
Эти дампы - единственный шанс восстановить работу вашей консоли, если что-то пойдет не так.
Если вы не уверены, что данные файлы содержат верные данные - не продолжайте, иначе ваша консоль навсегда превратится в набор железок!
На данный момент у вас на руках должны быть верные дампы вашего NAND.
Не забудьте сохранить их в надежном месте.
Выполните одну из команд
-u необязательный параметр, требуется при использовании SPI USB Flasher
Программа обработает данные, содержащиеся в дампе и выдаст на экран лог:
Как было замечено ранее, в записях с большой вероятностью вы найдете запись с датой и временем вашего бана.
Для удаления бана требуется удалить запись с этой датой, а так же все записи, у которых номер FSRoot больше, чем у этой записи.
В данном примере запись с датой 07.11.2009 12:53:24 имеет номер 165, а последняя запись - номер 166. Значит нужно удалить все записи с номена 165 до номера 166 включительно.
Для облегчения работы программа разбила все записи по группам с одинаковой датой.
В данном конкктретном случае таких групп будет 5, в них будут записи с номерами:
166; 165; 164-158; 157-150; 149-148.
Для каждой из групп программа создала по два файла: Erase_01.cmd и Restore_01.cmd (номера в названии файлов соответсвуют номеру группы).
Первый предназначен для создания бекапа и удаления каждой записи группы, а второй - для восстановления этой группы из сделанных бекапаов.
Как не сложно догадаться, для удаления бана потребуется запустить один или несколько файлов Erase.
Прежде чем начать запускать файлы, необходимо запомнить несколько правил:
Нехитрыми подсчетами приходим к выводу, что для удаления бана необходимо запустить Erase для двух дат, т.е. Erase_01.cmd и Erase_02.cmd.
Последняя живая запись - 28.10.2009 12:44:32, следуя выше по списку в логе встречаются 3 изменения даты (одна из них встречается 2 раза).
Опять же, нехитрыми вычислениями выходит, что последняя живая запись содержится в 4 группе, а значит максимум возможных удаляемых групп - 3.
Высчитайте количество необходимых Erase для своего дампа и убедитесь что данное количество блоков дат можно затереть.
Итак, необходимые файлы для изменений созданы, высчитано их необходимое количетво.
Теперь необходимо их запустить, при этом постаравшись сохранить шанс откатить все изменения.
Еще раз убедитесь что у вас есть верный дамп вашего NAND, для гарантии можете снять его еще раз.
Лишнее затраченное время поможет вам избежать порчи консоли.
Сам фикс - самое простое и самое опасное действие:
выполните команду
Не запускайте один Erase более одного раза, при этом повторно считается уже стертый блок, перезаписав сохраненные бекапы!
Повторите команду для каждого удаляемого блока, заменяя цифры в названии выполняемого файла.
После удаления необходимого количества блоков отсоедините консоль согласно инструкции и проверьте отсутсвие бана:
если все сделано верно, то игры успешно установятся на диск.
Если бан снят - не подключайте более консоль к сети XBOX LIVE, иначе придется выполнять все действия с самого начала.
Если консоль выдала ошибку E71 или E79 - разбан скорее всего невозможен.
Для возврата консоли в рабочее состояние подключите ее снова к компьютеру.
Для отката изменений выполните команду:
Если все сделано верно - консоль вернется в исходное состояние, отсоедините ее от ПК и проверьте работоспособность.
Помимо запрета на использование сервиса XBOX LIVE и лишения права воспользоваться гарантией, зачистка повлияла и на работоспособность самих консолей: бан запрещал использование функции установки игр на жесткий диск, использование медиацентра, а так же портил профили и сейвы игр.
Многим не понравился такой ход событий, и они начали искать выход из данной ситуации.
Один из зарубежных пользователей нашел выход: правильно модифицировав NAND он заставлял забыть консоль, что она забанена.
Но, к сожалению, раскрыть данный способ он не захотел: он запрашивал 30$ за самостоятельное изменение дампа NAND, гарантируя разбан.
Понадобилось совсем немного времени, прежде чем нашелся еще один человек, которому удалось определить необходимые действия для разбана: им оказался пользователь vlack форума Xboxland.net.
Все действия необходимо было выполнять вручную через HEX-редактор, многим было неудобно считать цифры вне десятичной системы. Стали появляться порграммы, автоматизирущие процесс.
Одну из таких программ и начал создавать пользователь Chook с того же форума, и назвал он ее ParseNand.
Изначально программа могла лишь самое простое: определять список блоков, которые возможно требуют изменения.
От версии к версии программа получала все новые функции: генерация файлов для изменения только нужных блоков, поддержка 256\512 дампов, сравнение и проверка дампов на целостность.
Когда программа умела выполнять почти все необходимые функции, она была переименована в EraseFSR.
Прежде чем начать изучать программу, скачайте ее: EraseFSR 0.28.
Поместите запускаемый файл в папку к NandPro для простоты выполнения команд.
Принцип работы.
Прочитав readme.txt можно узнать основной принцип работы:
EraseFSR - это утилита для последовательного удаления FS Root в NAND (разбан консоли) Сперва немного теории. Когда консоль хочет обновить один из файлов своей файловой системы (ссылки на эти файлы, их имена и т.д. хранятся в FS Root), то она не затирает старый файл новым, а для безопасности создает его на свободном месте, затем на другое свободное место записывает измененную FS Root с сылками на не измененные файлы и новой ссылкой на этот обновленный файл. Стоит обратить внимание, что предыдущие сектора занятые предыдущей версией FS Root и старой версией файла заносятся в список свободных и могут быть затерты другими файлами при обновлении. Если самая новая FS Root испорчена, то приставка автоматически считывает предыдущую FS Root, и так далее до тех пор пока не будет найдена рабочая. Однако, если файл на который есть ссылка в FS Root испорчен, то консоль не будет считывать другую FS Root. Делаем выводы. 1. В NAND памяти может хранится несколько разных версий FS Root и файлов. 2. Чтобы откатить последние изменения, нужно испортить последнюю FS Root 3. Предыдущие версии FS Root или файлов могут быть уже затерты новыми данными. Известно также, что признак бана находится в файле secdata.bin Ну чтож, теперь понятно, что нужно стереть все FS Root в которых есть ссылка на secdata.bin с баном, если конечно хорошая версия еще не затерта другими данными. Так что чем быстрее после бана вы постараетесь разбаниться - тем выше ваши шансы. Утилита EraseFSR как раз и создает список FS Root и соответствующих secdata.bin (заодно и проверяет сразу живой (ALIVE!) этот файл или уже затерт (DEAD)), а также командные файлы для удаления FS Root разбитые по датам. Вам нужно просто удалить все FS Root от самой старшей даты до дня вашего бана включительно. Только учтите, что дата 22.11.2005 - это дата сброшенного времени когда консоль не подключена к Live! Проще говоря - по порядку запускайте все командные файлы с первого по тот когда вы получили бан. Если после того как вы получили бан статус файла secdata.bin выдается как DEAD - значит вы слишком долго тянули с разбаном и уже ничем помочь нельзя.С первого раза понять о чем речь сложно, потому рассмотрим все возможные необходимые действия для достижения результата.
Получение необходимых данных.
Как можно было понять из описания, программа обрабатывает дамп флеш памяти консоли - NAND и генерирует команды для его изменения.
К сожалению, просто так получить доступ к NAND невозможно, для этого нужно разбирать консоль и подпаивать провода к плате консоли. Подробная инструкция по подключению XBOX 360 к ПК для работы с NAND находится здесь.
Внимателно изучите ее, выполните все необходимые действия.
Как только вы наладите соединение, можно будет приступать к работе.
- считайте дамп, используя программу nandpro:
- измените команду под свои параметры:
NandPro.exe lpt: -r16 nand1.bin
lpt - использовать интерфейс LPT, при использовании SPI USB Flasher необходимо заменить буквы на usb
-r16 (-r256 ; -r512) - выставляется в зависимости от размера флеш памяти
nand1.bin - файл, куда сохранится дамп нанда
Примеры правильных команд:NandPro.exe usb: -r16 nand1.bin NandPro.exe lpt: -r256 nand1.bin NandPro.exe usb: -r512 nand1.bin
- После ввода команды программа выдаст список выполняемых действий и запросит подтверждение:
e:\NandPro20>NandPro.exe lpt: -r16 nand1.bin NandPro v2.0 by Tiros Testing LPT device address:0378 Using LPT device at address:0278 FlashConfig:01198010 Starting Block:0x000000 Ending Block:0x0003FF Press any key to begin reading nand
- при нормальной работе программа должна определить флеш память и выдать ее FlashConfig
таблица верных значений:
Значение FlashConfig Тип материнской платы Объем NAND (Мб) 01198010 Xenon/Zephyr/Opus/Falcon 16 00023010 Jasper/Kronos 16 008A3020 Jasper/Kronos 256 00AA3020 Jasper/Kronos 512
- если все определилось верно, нажмите любую клавишу
Запустится процесс считывания NAND, номер текущего считанного блока будет указан в последней строке.
В идеале во время считывания не должно возникать ошибок, одноко возможно появление ошибок 210, 250, 280, 300.
Дампы с ошибкой 280 содержат неверные данные, требуется считать его повторно
При возникновении других ошибок, вернитесь к инструкции по соединению консоли и ПК - Как только считается последний блок - в папке с программой создастся файл nand1.bin, содержащий считанные данные.
- откройте файл nand1.bin в HEX-редакторе, убедитесь что в самом начале присутсвует надпись
- измените команду под свои параметры:
- считайте дамп повторно, заменив в команде название файла с nand1.bin на nand2.bin
- после получения второго дампа сравните оба файла:
- Выполните команду
erasefsr.exe nand1.bin nand2.bin
Если вы увидели такой результат, значит с большой вероятностью дампы не содержат ошибокe:\NandPro20>erasefsr.exe nand1.bin nand2.bin Batch Creator for erase FS Root in NAND v0.27 Concept by vlack, coded by Chook. NAND Size 16Mb Detected. ----------------------------- No Differences found! Press Any Key...
Если вы увидели ошибку, то проверьте, что все файлы находятся в одном каталоге с программой, повторите командуCannot open nand1.bin
Если в сравнении обнаружились ошибки, снимите третий (и последущие дампы), и сравните с предыдущими дампами до тех пор, пока ошибки не пропадутDifference in Block: 03D9 ECC Error in Block: 03D9 in 1st file Difference in Block: 03DA ECC Error in Block: 03DA in 1st file
- Выполните команду
Очень важно, что бы вы были уверены, что все сделали верно.
Эти дампы - единственный шанс восстановить работу вашей консоли, если что-то пойдет не так.
Если вы не уверены, что данные файлы содержат верные данные - не продолжайте, иначе ваша консоль навсегда превратится в набор железок!
Создание команд для снятия бана.
На данный момент у вас на руках должны быть верные дампы вашего NAND.
Не забудьте сохранить их в надежном месте.
Выполните одну из команд
erasefsr.exe nand1.bin erasefsr.exe -u nand1.binвместо nand1.bin впишите название вашего дампа
-u необязательный параметр, требуется при использовании SPI USB Flasher
Программа обработает данные, содержащиеся в дампе и выдаст на экран лог:
e:\NandPro20>erasefsr.exe nand1.bin Batch Creator for erase FS Root in NAND v0.27 Concept by vlack, coded by Chook. NAND Size 16Mb Detected. ----------------------------- GOOD: No ECC Errors detected! ----------------------------- 01 FS Root: 166 at 0x04B; Secdata.bin at: 0x04A Date: 22.11.2005 12:00:02 ALIVE! 02 FS Root: 165 at 0x049; Secdata.bin at: 0x048 Date: 07.11.2009 12:53:24 ALIVE! 03 FS Root: 164 at 0x044; Secdata.bin at: 0x043 Date: 22.11.2005 12:00:02 ALIVE! 03 FS Root: 163 at 0x029; Secdata.bin at: 0x028 Date: 22.11.2005 12:00:02 ALIVE! 03 FS Root: 162 at 0x027; Secdata.bin at: 0x3DB Date: 22.11.2005 12:00:02 ALIVE! 03 FS Root: 161 at 0x3DA; Secdata.bin at: 0x3D9 Date: 22.11.2005 12:00:02 ALIVE! 03 FS Root: 160 at 0x3D8; Secdata.bin at: 0x3D7 Date: 22.11.2005 12:00:02 ALIVE! 03 FS Root: 159 at 0x3D6; Secdata.bin at: 0x3D5 Date: 22.11.2005 12:00:02 ALIVE! 03 FS Root: 158 at 0x3D4; Secdata.bin at: 0x3D3 Date: 22.11.2005 12:00:02 ALIVE! 04 FS Root: 157 at 0x3D2; Secdata.bin at: 0x0A2 Date: 28.10.2009 12:44:32 ALIVE! 04 FS Root: 156 at 0x3D1; Secdata.bin at: 0x0A2 Date: 28.10.2009 12:44:32 ALIVE! 04 FS Root: 155 at 0x3D0; Secdata.bin at: 0x0A2 Date: 28.10.2009 12:44:32 ALIVE! 04 FS Root: 154 at 0x0A8; Secdata.bin at: 0x0A2 Date: 28.10.2009 12:44:32 ALIVE! 04 FS Root: 153 at 0x0A7; Secdata.bin at: 0x0A2 Date: 28.10.2009 12:44:32 ALIVE! 04 FS Root: 152 at 0x0A6; Secdata.bin at: 0x0A2 Date: 28.10.2009 12:44:32 ALIVE! 04 FS Root: 151 at 0x0A5; Secdata.bin at: 0x0A2 Date: 28.10.2009 12:44:32 ALIVE! 04 FS Root: 150 at 0x0A3; Secdata.bin at: 0x0A2 Date: 28.10.2009 12:44:32 ALIVE! 05 FS Root: 149 at 0x0A1; Secdata.bin at: 0x0F9 Date: 22.11.2005 12:00:02 DEAD 05 FS Root: 148 at 0x09F; Secdata.bin at: 0x0F9 Date: 22.11.2005 12:00:02 DEAD Press Any Key...Рассмотри данные, содержащиеся в логе:
- NAND Size 16Mb Detected. - размер флеш памяти, с которого считан дамп
- Если вместо этого вы увидите такое сообщение
WARNING: Trim NAND Size 10Mb Detected.
то ваш дамп является неполным
Для таких дампов просчет номера блока идет не от начала NAND, а от стартового снимаемого блока, для использования такого нанда необходимо вручную высчитывать нужные блоки
Все операции с таким нандом вы делаете на свой страх и риск.
- GOOD: No ECC Errors detected! - собщение о проверке контрольных сумм, говорит о отсутствии ошибок
отсутсвие ошибок не гарантирует верность данных - допустимо наличие ошибок в малом количетве блоков, только если данные блоки совпадают во всех снимаемых дампах
ECC Error in Sector: 00BD
- Далее каждая строчка соответсвует одной записи FSRoot, все записи были разделены на несколько групп по схожей дате.
Рассмотрим данные по первой из записей:01 FS Root: 166 at 0x04B; Secdata.bin at: 0x04A Date: 22.11.2005 12:00:02 ALIVE!
- 01 - номер группы, в которую программа определила запись
- FS Root: 166 - порядковый номер версии FSRoot. Чем он больше - тем позднее создана запись
повторных версий быть не должно, это возможно только при ошибке в считывании NAND - at 0x04B - номер блока,в которой находится данная запись FSRoot
именно эти блоки необходимо затирать для снятия бана - Secdata.bin at: 0x04A - адрес самой secdata.bin, в которой и содержится метка бана
с большой вероятностью данный адрес будет встречаться в нескольких строчках, это нормально - Date: 22.11.2005 12:00:02 - дата, когда по мнению консоли была сделана запись
при включении система неверно определяет текущее время, почти все записи обычно содержат похожие даты
если посмотреть на все даты, то вы сможете заметить, что одна запись выделяется и содержит дату и время вашего бана
в данном случае это: 07.11.2009 12:53:24 - ALIVE! (DEAD) - состояние файла secdata.bin по указанному ранее адресу
как не трудно догадаться, первое состояние указывает на рабочую запись, а второе - на нерабочую
Как было замечено ранее, в записях с большой вероятностью вы найдете запись с датой и временем вашего бана.
Для удаления бана требуется удалить запись с этой датой, а так же все записи, у которых номер FSRoot больше, чем у этой записи.
В данном примере запись с датой 07.11.2009 12:53:24 имеет номер 165, а последняя запись - номер 166. Значит нужно удалить все записи с номена 165 до номера 166 включительно.
Для облегчения работы программа разбила все записи по группам с одинаковой датой.
В данном конкктретном случае таких групп будет 5, в них будут записи с номерами:
166; 165; 164-158; 157-150; 149-148.
Для каждой из групп программа создала по два файла: Erase_01.cmd и Restore_01.cmd (номера в названии файлов соответсвуют номеру группы).
Первый предназначен для создания бекапа и удаления каждой записи группы, а второй - для восстановления этой группы из сделанных бекапаов.
Как не сложно догадаться, для удаления бана потребуется запустить один или несколько файлов Erase.
Прежде чем начать запускать файлы, необходимо запомнить несколько правил:
- не имеет смысла запускать файл с номером группы N, не запустив до этого все файлы с меньшим номером
такие действия не преведут ни к чему, консоль читает только последнюю запись, а она содержится в первой группе - нельзя запускать все файлы Erase в таком случае не останется ни одной записи, консоль просто не запустится
- нельзя запускать последним файл, если в следущей группе идут записи с меткой DEAD
прочитав такую запись консоль выдаст ошибку и не запустится
в случае если после группы с DEAD идет группа с записями ALIVE!, можно удалить мертвый блок
- необходимо оставить как минимум одну группу, в которой содержатся ALIVE! записи
Нехитрыми подсчетами приходим к выводу, что для удаления бана необходимо запустить Erase для двух дат, т.е. Erase_01.cmd и Erase_02.cmd.
Последняя живая запись - 28.10.2009 12:44:32, следуя выше по списку в логе встречаются 3 изменения даты (одна из них встречается 2 раза).
Опять же, нехитрыми вычислениями выходит, что последняя живая запись содержится в 4 группе, а значит максимум возможных удаляемых групп - 3.
Высчитайте количество необходимых Erase для своего дампа и убедитесь что данное количество блоков дат можно затереть.
Фикс NAND для снятия бана.
Итак, необходимые файлы для изменений созданы, высчитано их необходимое количетво.
Теперь необходимо их запустить, при этом постаравшись сохранить шанс откатить все изменения.
Еще раз убедитесь что у вас есть верный дамп вашего NAND, для гарантии можете снять его еще раз.
Лишнее затраченное время поможет вам избежать порчи консоли.
Сам фикс - самое простое и самое опасное действие:
выполните команду
e:\NandPro20>erase_01.cmd ------------------------------------- ERASE DATA: 22.11.2005 12:00:02 ------------------------------------- NandPro v2.0 by TirosЕсли все сделано верно, программа считает удаляемые блоки с указанной датой три раза и сохранит их в папке backups, после чего удалит их.
Не запускайте один Erase более одного раза, при этом повторно считается уже стертый блок, перезаписав сохраненные бекапы!
Повторите команду для каждого удаляемого блока, заменяя цифры в названии выполняемого файла.
После удаления необходимого количества блоков отсоедините консоль согласно инструкции и проверьте отсутсвие бана:
если все сделано верно, то игры успешно установятся на диск.
Если бан снят - не подключайте более консоль к сети XBOX LIVE, иначе придется выполнять все действия с самого начала.
Если консоль выдала ошибку E71 или E79 - разбан скорее всего невозможен.
Для возврата консоли в рабочее состояние подключите ее снова к компьютеру.
Для отката изменений выполните команду:
e:\NandPro20>restore_01.cmd --------------------------------------- RESTORE DATA: 22.11.2005 12:00:02 --------------------------------------- NandPro v2.0 by TirosВыполните команду повторно для каждого запущенного Erase, изменяя цифры в названии файла.
Если все сделано верно - консоль вернется в исходное состояние, отсоедините ее от ПК и проверьте работоспособность.
FAQ по возможным проблемам.
- Этой программой можно удалить любой бан?
Нет, программа не гарантирует снятие бана.
Если прошло слишком много времени после бана либо после бана было устанволено обновление - разбан невозможен.
В любом случае вы можете попытаться снять бан, если все выполнять верно - консоль можно будет вернуть в исходное состояние.
- У меня не определяется нанд!
Перейдите в инструкцию по подключению консоли к ПК.
- При считывании нанда идут ошибки 280 после блока 200!
Ничего страшного, удалите считанный дамп во избежание путаницы.
Снимите дамп повторно, эта ошибка должна пропасть сама.
- У меня возникает ошибка на считывании одного и того же блока!
Вероятно, этот блок поврежден. Продолжайте выполнение инструкции, но будьте в два раза внимательней.
- У меня вечно появляются ошибки в разных местах!
У вас нестабильное соединение, перейдите в инструкцию по подключению консоли к ПК и устраните проблему.
- У меня не было ошибок, на дампы не совпадают!
Этого не должно происходить, попробуйте перепаять соединение или сменить компьютер.
- Дампы вечно не совпадают в одних и тех же блоках!
Вы можете рискнуть продолжить выполнять инструкцию, не трогайте блоки с ошибками.
- Программа говорит, что дамп неверен!
Вероятно, она права. Снимите полный дамп.
- Я не вижу в списке даты бана!
Вероятнее всего снятие бана невозможно.
Попробуйте удалять записи по одной, возможно вам повезет разбанить консоль.
При возникновении ошибок запустите restore для восстановления исходного состояния.
- Я запустил все необходимые Restore, но консоль по прежнему неработает!
Попробуйте запустить их повторно, если это не поможет, придется перезаписывать весь NAND.
Для этого выполните команду:NandPro.exe lpt: -w16 nand1.bin
lpt - использовать интерфейс LPT, при использовании SPI USB Flasher необходимо заменить буквы на usb
-w16 (-w256 ; -w512) - выставляется в зависимости от размера флеш памяти
nand1.bin - файл, содержащий копию вашего NAND
Примеры правильных команд:NandPro.exe usb: -w16 nand1.bin NandPro.exe lpt: -w256 nand1.bin NandPro.exe usb: -w512 nand1.bin
- Мне не помогло полное восстановление, что делать?
Попробуйте повторить перезапись, возможно произошли ошибки при первой записи.
Если это не поможет - ваша дамп оказался нерабочим. Ничего сделать более невозможно.
Идея vlack; создание программы Chook, пользователи форума Xboxland.net