SlimSpoof 3.0

Автор: | Опубликовано в Xbox 360 No comments

Первые две версии данной программы прошли незаметно. На этот раз, напишу обо всем подробно.

Как многим известно, бывает, что после прошивки, игры отказываются работать. Причем иногда они всё-таки запускаются, что странно. Всё это последствия некорректных данных в прошивке. Больше всего этим грешит пресловутый JungleFlasher — последняя версия, и вовсе, в трети случаев считывает некорректные данные (когда-то писал про это).

В любом случае, я решил сделать программу для контроля качества исходных данных приводов DG-16D4S и последующего переноса данных в конечную прошивку.

Первые две версии программы были написаны на Delphi, использовали простейшие алоритмы для определения и исправления ошибок, писали риск и рекомендуемую прошивку. Теперь я решил предоставить пользователю следить за всем этим самостоятельно, для чего и пишу эту статью.
Программу делал на C++, скачать можно здесь

Возможности программы:
-распознавание всяких ошибок, неточностей и погрешностей, связанных с некорректным считыванием данных
-исправление некорректных данных, если это возможно
-распознавание исходной версии прошивки по данным (серийнику и прочему)
-корректный перенос данных в конечную прошивку, предупреждение при неверных действиях
-ручное изменение ключа и серийника (актуально для freeboot консолей)

Более подробно — в Readme (есть и на английском, но там поменьше):

SlimSpoof 3.0 [ReadMe]

Основные штуки:
Source Data — то, что написано в открытом файле. Иногда, доверять этому не стоит.
Recognised Data — то, что распознала программа. В редких случаях, может быть ошибочной
Target Data — информация о конечной прошивке, почти всегда корректная

Проверки всякие:
Key — ну ключ привода, и так ясно. Распознается по версии, так что, если версия распозналась неверно, ключ может быть не тот
Serial — серийник, от него зависит распознавание ключа, так что, в случае, когда он неверно читается, ключ получается не тот. Если нужно внести поправки, загорится кнопочка Fix — это изменит открытый файл!
Rev — собственно, реизия прошивки. Распознанная и исходная совпадать обязаны.
Prev — версия прошивки, с которой был изготовлен привод. Отсюда пошли 0225u и 0225d прошивки — Rev 0225, а Prev 9504 (в случае с 0225u) или 0401 (в случае с 0225d). JungleFlasher при чтении пытается указывать Prev, но часто ошибается — не особо доверяйте этому значению
1FF80 — еще один кусок данных. Если он особо длинный, JungleFlasher мог считать только первую его часть и отсюда глюки с запуском игр. Проверка присутствует.
3F000 — последний важный кусок данных, обычно принимает значение BB01. В случае с Prev, отличной от Rev, он пуст. В старые прошивки вроде LT+ 1.9, некоторые блоки могли просто не влезть — проверка на это тоже присутствует, отображается внизу справа
Lbyte — последний байт зоны ключа (адрес 0x2AFFF). Когда-то Lizard в Standalone mode при спуфе его стирал — вот проверка и выявляет это. Если он нулевой и игры запускаются через раз — остается только подбирать его значение.
Type — тип загруженной прошивки, например LT Mid (версия 1.9), LT New (1.92 и 2.0), LT 3 (версия 3.0) и прочее

Если все нормально, статус будет OK. Если для точной уверенности данных не хватает, но все нормально, будет статус OK?

Не стоит спуфить данные от одной версии прошивки в другую — ключ не сохранится (но сохранить результат можно). Предупреждение вылазит. Если так хочется — используйте Manual Edit (про него чуть позже)

Что-то не нравится? Снимайте полный дамп прошивки после разблокировки — они уж точно будут корректными.

Ручной ввод данных
Да, теперь есть фича Manual Edit — можно ввести любой ключ и любой серийник, заспуфить их в прошивку и они будут корректно вписаны! Но FCRT проверок это не отменяет, так что, эта штука почти бесполезна. Разве что для тех, кто ставит D4S привод на Phat консоли или на фрибут с отключенным FCRT (не годится для консолей с 1071 и 1125 приводами)

P.S. Благодарю sekil за некоторые алгоритмы

Tags:,