Pandora (unbricker/downgrader) для PSP-200X TA-088v3
Сервисный комплект для PSP-200X
(включая TA-088v3)
{ НИЧЕГО НЕ ПРОДАЁМ / NO SALES HERE }
После удачного взлома и последующей длительной заморозки в скрытом разделе темы: "Размышления о возможностях взлома ТА88v3"
было решено, что настало время её разморозить и отдать "в народ".
Дабы не нарушать хронологию "размышлений по взлому", инструкция выложена в шапке отдельной темой.
Первое видео от Yoti
Новое видео подтверждение работы сервисной карты JigKick на PSP-2006 TA-088v3!
Скачиваем "MSID Dumper", вставляем карту памяти в PSP и запускаем программу. Видим на экране номер "Серийный номер" и MSProID вашей карточки и записываем, хотя дамп области MSID всё равно сохранится в корне карты памяти и вы можете его потом посмотреть хекс-редактором. Это вам может пригодиться, когда вы будете искать данные MSID в дампе микросхемы.
Тонким скальпелем располовиниваем корпус карты памяти пополам. Не поностью, а только заднюю часть и чуть больше половины по краям.
Затем пинцетом достаём из корпуса плату, она не приклеена, а просто лежит в пазах.
Из платы выпаиваем микросхему памяти (nand), которая самая большая и имеет 48 ножек. Рядом находится небольшой квадратный контроллёр памяти, его не трогаем.
Нужно учитывать, что с виду карты одинаковые, но внутри могут быть разные нанды, например Hynix или Samsung. Поэтому под вашу микросхему уже потом ищется программатор. Смотрим список поддерживаемых микросхем: http://www.soft-center.ru/reader/NAND_List.php.
Hynix, насколько я знаю, практически все имеют одинаковый стандарт выводов по даташиту среди TSOP-48, поэтому если буквы или цифры немного отличаются от списка поддерживаемых моделей, то это вряд ли имеет значение.
Микросхема вставляется в панельку программатора очень просто. Панелька имеет конструкцию прищепки, нажимаем сверху, контакты отходят, ставится микросхема и отпускаем, контакты прижимаются к ножкам микросхемы.
Далее, программатор подключается к компьютеру, с заранее установленной программой и драйверами, поставляемыми с программатором. В программе указывается диапазон страниц, которые нужно сдампить и дампится часть памяти.
Сразу дампить 2 Гб всей памяти очень долго, да и не нужно. Сразу скажу, что нужная нам служебная область, где прописан MSID карты находится либо в самом начале, либо в самом конце микросхемы, обычно в 1-ом банке и не далее 3-4 блоков. Рекомендую сдампить сразу 4 блока - это 256 страниц или 0x100 в шестнадцатеричном виде, что и нужно указывать в диапазоне.
Открываем файл дампа в хекс-редакторе. Вводим в поиск, что нужно искать, а именно кусок хекс-кода MSID: 4D535053, что в буквенном выражении означает первые четыре аббревиатуры MSPS(NY0/DK0/XX0), то есть, это часть 16-значного ключа MSID, которая у всех карт памяти MS PRO DUO одинаковая.
Скриншот MSID
Это логическая область с MSID, снятая программой MSID Dumper, сохраняющаяся в корне карты памяти в файл. По структуре она не имеет ничего общего с настоящей областью MSID, которая находится в физическом чипе памяти.
Требуется только для определения номера MSID для поиска в сыром RAW-дампе ципа карты памяти.
Не путать с оригинальным RAW-дампом(снятым программатором)!
Так выглядет оригинальная сервисная область MSID, сдампленная программатором.
Обратите внимание, что она выглядет совсем иначе, нежели на первом рисунке, снятом программой для PSP - "MSID Dumper".
В стартовом секторе содержится серийный номер и MSID.
Далее идут 3 пустых сектора, полностью заполненных FFFFFFFF.
Затем идёт сектор, где указывается фрмат и размер карты памяти.
MSID в шапке написан.
Его вы найдёте по аббревиатуре _MSPSNY0
Остальное - это 16 байт кода.
ErikPshat, я не MSID имел ввиду, а id - идентификатор микросхемы памяти в рамках Вашей задачи. Впрочем проблема с этим уже разрешилась. Осталось отработать на нескольких картах.
Умеет, еще как.
Для этого используется программка NAND_Reader.exe
Yokel, если у Вас не выходит, то приведите ошибку или сообщение, которое он пишет. Наверняка, в конфиге Вы не указали размер и количество блоков микросхемы памяти. Поэтому и не пишет.
Кстати, программатор PROGSKEET вроде тоже может считывать и писать NAND.
Список поддерживаемых микросхем памяти у него пока мал: K9F1G08, S29GL128, K8Q2815, HY27US08.
Но думаю этим не ограничивается.
И к нему можно докупить такие панельки, которые одеваются прямо сверху на чип, не выпаивая его и программируется.
Другие консоли: XBOX 360, PlayStation®3 500Gb 3.55
Регистрация: 30.01.2007
Адрес: Москва
Возраст: 34
Сообщений: 623
Вы сказали Спасибо: 205
Поблагодарили 157 раз(а) в 115 сообщениях
Сила репутации: 1
Репутация: 159 (весьма и весьма положительная личность)
ErikPshat, я думал о панельке для чтения нанда без выпайки, но стоит он как-то очень прилично((
минус софтины от Софт Центра в том, что она не умеет читать отдельные сектора, она сразу дампит/заливает обратно целиком весь банк памяти.
ErikPshat, я думал о панельке для чтения нанда без выпайки, но стоит он как-то очень прилично((
минус софтины от Софт Центра в том, что она не умеет читать отдельные сектора, она сразу дампит/заливает обратно целиком весь банк памяти.
вот кстати насчет заливать целиком дамп(извините что не по теме!!!)...а кто разобрался как выставлять правильно блоки?
вот кстати насчет заливать целиком дамп(извините что не по теме!!!)...а кто разобрался как выставлять правильно блоки?
Звучит словно фраза ".. а кто разбирался как выставлять правильно страницы в книжке?" vestax, Вам зачем, сказать можете?
Берете книгу с полки. Читаете ее с начало до конца. На 51 странице меняете одну строку. Возвращаете книжку туда откуда взяли. Причем тут порядок глав в книге?
vestax, способа всего два. Иногда к одной и той же флешки применимы оба одновременно:
(1) выстроить по порядку в соответствии с таблицей трансляции блоков;
(2) выстроить по порядку ориентируясь по возрастанию номеров блоков.
В данном случае мы сливаем дамп в сыром виде RAW. Поэтому выстраивать ничего не надо. Мы сливаем дамп в таком виде, в каком они лежат в нанде по порядку. И точно так же заливаем обратно.
Случай с выстраиванием порядка блоков, относится к восстановлению информации, т.к. они чередуются по банкам памяти и пишуться на самом деле не строго по порядку, а в освободившиеся ячейки, т.е. в начало, потом обходя имеющуюся легитимную запись после.
Но нам восстанавливать содержимое файловой структуры, например фотографий, видео, аудио, не требуется. Мы просто снимаем сырой дамп в таком перемешанном виде, как есть и точно так же в таком же виде пишем обратно на своё место.
Но один вид данных, один файл, всегда пишется непрерывно.
Кстати, программатор PROGSKEET вроде тоже может считывать и писать NAND.
Список поддерживаемых микросхем памяти у него пока мал: K9F1G08, S29GL128, K8Q2815, HY27US08.
Но думаю этим не ограничивается.
И к нему можно докупить такие панельки, которые одеваются прямо сверху на чип, не выпаивая его и программируется.
Дороговат ОН!
Yokel добавил 29.10.2011 в 07:51
Сообщение от Frostegater
sashapv19, тебе ещё повезло... у меня 16тая.. ну я без тутора делал. С помощью друга правда.. он программатор слепил... первоначальную схему я выкладывал. Он её упростил до одного "слота".. писалось ужасно, перед этим ещё на обычных флешках тестили. С ними всё нормально было.. ну просто писали, паяли, пашет? да, нет.. ни одной обычной флешки не померло. А MSки сцуко.. мрут падлы. Щас карты нет, а та прожила 2 суток..
Поделись схемой плиз!
Последний раз редактировалось Yokel; 29.10.2011 в 07:51.
Причина: добавил, подумав
А где ты видел программаторы дешевле? О_о http://www.progskeet.com/products.php
Ну разве что Teensy++ самому спаять. Ваще-то это не так трудно, при том что схемы где-то есть.
Другие консоли: XBOX 360, PlayStation®3 500Gb 3.55
Регистрация: 30.01.2007
Адрес: Москва
Возраст: 34
Сообщений: 623
Вы сказали Спасибо: 205
Поблагодарили 157 раз(а) в 115 сообщениях
Сила репутации: 1
Репутация: 159 (весьма и весьма положительная личность)
для создания такого инструмента для работы 5-7к не особо дорого, ибо карта ведь не только брики непрошиваек лечит. я очень много прошиваек этой картой к жизни вернул.
хотя в моём случае я больше за карты китайские заплатил, чем за проггер от софт центра
Читай тему... контроллер пытается исправить ошибки в NAND и в конце концов убивает сам себя, а очень часто некоторые карты, даже "подходящие" горят после "прошивки".
После каждого сектора (512 байт) идёт 16 байт контрольной суммы этого сектора, потом идёт опять сектор 512 байт и за ним 16 байт контролки.
И так каждый сектор имеет контрольную сумму, по типу MD5/CHA1/CRC.
Если в определённом секторе сменить MSID, то уже контрольная сумма этого сектора не совпадает.
Чтобы опять совпадало, требуется после смены ID подсчитать новую контрольную сумму. Но мы пока не знаем алгоритм подсчёта, это знает сам контроллёр. Хотя в программе у софт-центра прилагаются файлики подсчёта контролок к определённым видам контроллёров, но у нас их нет. Вероятно можно найти в инете эти самые алгоритмы. Они у каждого контроллёра свои.
Если интересно, каким образом идёт подсчёт контрольных сумм, можно ознакомиться с работой программы Flow Rebuilder 3.50 with ECC Gen
Она умеет упорядочивать блоки по порядку из правленного дампа нанда PS3, затем просчитывать контролки для каждого сектора.
Последний раз редактировалось ErikPshat; 30.10.2011 в 08:35.
ErikPshat, так, допустим мы подсчитали контрольную сумму, но куда её мы будем писать? В эти 16 байт? Думаю, стоит найти где она хранится, а потом измерять и сравнивать. Ну даже если мы знаем где она хранится, ведь это как мне кажется не так сложно. Попробовать выдрать сектор без избыточного 16байтного кода хеша, и попробовать измерить её по различным хеш алго.
Frostegater, ye ты странный какой )))
Как куда писать?
После того сектора, в котором мы меняем MSID.
Мы ведь меняем ID, а контрольная сумма то уже изменяется.
Именно поэтому многие карты памяти после этого перестают пахать, потому что мы сменили 4 байта MSID в секторе, а вот контролку не пересчитали.
Контроллёр, при обращении к этому сектору, видит, что не сходится сумма и считает, что это испорченный блок, поэтому заносит его в таблицу бэд-блоков.
Всё, карта больше не читает системную область и перестаёт работать.