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.
Затем идёт сектор, где указывается фрмат и размер карты памяти.
Frostegater, всё правильно - 255, но туда ещё входят Parity байты, которые вставляются по формуле степеней 2 в степени m = 2, 4, 8, 16, 32...
Да и при том, что у каждого производителя контроллёров, алгоритм подсчёта свой CustomRS.
Насколько я понял, для рассчёта ECC в основном используется код Hamming'a, конечно же базирующийся на коде RS.
Так что здесь не всё так радужно.
Frostegater, всё правильно 255, включая 0, итого ровно 256.
Да и при том, что у каждого производителя контроллёров, алгоритм подсчёта свой CustomRS.
Насколько я понял, для рассчёта ECC в основном используется код Hamming'a, конечно же базирующийся на коде RS.
Так что здесь не всё так радужно.
А чё он у меня тогда 518 требует?..)))
Плин. Ты подавил мой тонус... Короче, железячники, дампите контроллер, мы, программисты, реверсанём.
The genECC application is a tool for creating the required ECC data for NAND pages offline on a PC, without having to use the EMIF hardware of the chip.
For 4-bit ECC, there are four registers that hold the Reed Solomon parity information. Therefore the output file would contain four 32-bit values for each 512 bytes of input data. .... Note that in the case of the Reed Solomon ECC, each register actually contains only 20 bits of ECC parity information, for a total of 80 bits.
Но все равно результат не тот. Этих реализаций до черта, и в каждой видимо по своему делается.
дак дело не в нандах как я понимаю а в контроллере флешки(вернее даже не в самом контроллере а в его прошивке, потому как на одном и том же контроллере можно разные алгоритмы реализовать)
Конечно в контроллере, это же он все расчеты производит. ЕCC различается даже на разных мемористиках.
Вон на форуме флеш-экстрактора народ какие-то значения для ECC к разным флешкам подбирает. http://flash-extractor.com/forum/vie...er=asc&start=0
что бы они значили...
Да, даже одинаковые данные на разных стиках, вернее с разным контроллёром, имеют разный ECC. То есть, там явно видно, что идёт совершенно другая структура ECC.
Взять даже обычный Nand-Dump PSP, а он снимается так же в RAW-формате вместе с этим избыточным кодом.
Сообщение от Yokel
два блока с одинаковыми данными но разными адресами надо!
Я думаю лучше нужно полностью забить флешку до байтика.
Если флешка 2 Гб, то нужно:
Создать файл, размером ровно 2 Гб (2147483648 байт)
Полностью сделать на него Fill одним и тем же байтом, например буквой Z.
Потом в первый сектор каждого блока записать один и тот же сектор служебной области с MSID.
Потом залить на карту по USB и снова снять RAW-дамп.
Таким образом, на карте не окажется случайных данных.
Ведь даже при быстром форматировании, данные не удаляются и этот мусор будет мешать изучению.
При полном форматировании, данные удаляются, но перезаписываются другим мусором.
Таким образом будет видно, как изменится ECC в разных блоках, как будет происходить нумерация блоков.
И соответственно будет чётко видно нашу "Z" и его ECC в разных блоках.
Так же, мы сможем сравнить сектор MSID оригинальный системный и этот же сектор в разных других несистемных областях.
Потом сделать вывод о данных ECC.
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,745
Вы сказали Спасибо: 819
Поблагодарили 3,857 раз(а) в 2,023 сообщениях
Сила репутации: 1
Репутация: 3857 
(репутация неоспорима)
Сообщение от ErikPshat
Создать файл, размером ровно 2 Гб (2147483648 байт)
На вкус и цвет все фломастеры... Ой, не об этом же =) У всех производителей пользовательские 2ГБ разные. И чаще всего это 1.90 ГБ (x1024) либо ~200000000 байт (x1000).
Yoti, а ну да. Я замерял размер дампа флешки 2 Гб, она ровно байт в байт = 2 Гб (2147483648 байт).
Но это надо учитывать, что там служебная область забирает место и + избыточные 16 байт у каждого сектора.
Тут надо математикой заняться поглубже ))) ну 16 байт у каждого сектора, значит избыточных данных ровно 67108864 байт, которые нужно вычесть. И по моему там только один служебный блок.
Другие консоли: XBOX 360, PlayStation®3 500Gb 3.55
Регистрация: 30.01.2007
Адрес: Москва
Возраст: 33
Сообщений: 626
Вы сказали Спасибо: 208
Поблагодарили 162 раз(а) в 119 сообщениях
Сила репутации: 1
Репутация: 164 
(весьма и весьма положительная личность)
ErikPshat, есть двушка и четвёрка подходящие под сервисные. могу сказать точный размер или скинуть дамп в хексе. поправишь его или сделаешь свой. зальём и проверим. если что я буду в асе(и дома) после половины первого, пиши если спать не будешь. как раз у меня будет время на всё
gregorio добавил 26.11.2011 в 23:29
и заодно есть чем проверить работоспособность) ведь по всеобщему мнению просто именно сами карты дохнут, а у меня некий софт на них работать отказывается.
gregorio добавил 26.11.2011 в 23:33
и именно из-за несовпадения контрольной суммы
gregorio добавил 26.11.2011 в 23:34
и еще, для общего развития, зануление ECC на кое-каких картах работает. и всё заново подсчитывается. но они редкие и довольно сложно пишутся
Последний раз редактировалось Gregorio; 26.11.2011 в 23:42.
Причина: добавил, подумав
Проще конечно манипулировать 2 Гб картой.
Размер логического диска можно посмотреть через свойства, чем высчитывать: 2'033'942'528 байт = 3'972'544 секторов = 62071 блока.
Я подготовил сырой образ, забитый "X", потому что "Z" означает 5A, а это символ метки MBR карты.
От тебя нужен только сектор MSID от той карты, на которой будет производиться эксперимент.