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.
Затем идёт сектор, где указывается фрмат и размер карты памяти.
but can't change.
Change is possible but not permanent.
As if the controller back to save to NAND.
You might think about making a controller that replaces the value (MSID).
However, I need to know the sequence of reading MSID (BS , DATA1,SDIO/DATA0,DATA2,DATA3, and SCLK).
If the sequence is simple to replace it, you can use AVR Atmega8.
Something like ModBo760
Последний раз редактировалось Yoti; 11.08.2011 в 19:05.
@Gregorio
With this program you can change everything in NAND but MSID returns after reboot card.Before reading through DMDE i removed attr0.bin from the card file
.Therefore, to be able to replace the MSID, I suggest making interface for the popular AVR controller.Then the possibility of substitution would be possible on all cards, even in the new. I'm working on it.
Was eliminated the need to buy an expensive NAND programator, and the need for technically complex soldering/desoldering.MSID swapping would take place outside the card.
image
I will spoof a MSID. Input and output would be equal outside &H1B0 (where the MSID is).This would depend on the software written for this AVR controller.
Actually it's not about replacing MSID in NAND but beyond.Would match all the cards then.
Card communicates with the PSP via a parallel transfer only?
Последний раз редактировалось Yoti; 11.08.2011 в 19:05.
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,737
Вы сказали Спасибо: 819
Поблагодарили 3,838 раз(а) в 2,015 сообщениях
Сила репутации: 1
Репутация: 3838 
(репутация неоспорима)
lenovo3000, removing file is not equal fully deleting it. You may restore your file after deleting. So, you need to do low-level format and try again.
And thanks for scheme!
If you read only MSID_dumper &H1B0 and not the entire contents to &H600 then the designation will replace only the offset &H1B0.
While the programs read the entire contents of this sector is not the case, can replace a whole. But when there is only a reference to a particular offset is only passed an examination pretend specific offset.
AVR controller to EEPROM can be saved and the entire sector from &H00 to &H600 but would be better to only the portion (one offset).
It is possible that the substitution by the sector's interface with plowing low-level format writes the correct value of the relevant sector (Formatting using the Sony memory stick card formater). Permanent format with "correct" MSID will be possible (i dont now is it in realy - should check
)
Full sequence is in attro.bin file :
End is in offset 00000600 . I need to know a signal when is proceed of reading offset 000001B4 to 000001B7. Only this sequence will be activated the substitution of the content of this sector.Then it will be irrelevant in the real value of recorded NAND.Because this value will be sent to the PSP with a memory controller AVR eeprom. See how it is written in the sequence (and timing) of read and write longer between NAND and Controller Memory Stick (or SD controller) -> http://www.elektroda.pl/rtvforum/vie...467&highlight=
The program (in this situation) is a simple substitution. AVR controller waits for a sequence of reading the sector in which the MSID, and then sends the entered value in this place which is on the memory card.Besides this sequence as if the controller was not (Signals coming from the card would be sent to the PSP as if card was planted directly in the console).It does not matter where in the nand memory (in which the sector) is MSID. It is important where the offsets caused by the PSP sits this code.The interface is designed to replace the MSID in the stream of data between the card and the PSP Memory Stick and not in the same NAND.
This interface will allow the substitution of the value of anything we want to make it visible.Except that I need to see that the signal comes before and what the value is sent in sequence. To select the AVR controler frequency well I have to know what is on the MCLK frequency. This will give me the opportunity to understand how long it takes a high state as the shortest signal low.
Powiem po polsku : interfejs podmieni tylko wywołany odczyt offsetów na wartość która ma być widoczna (zmieniona). Do tego potrzebuje timingi jakie występują w przypadku zapisu pliku attri0.bin na kartę. Najlepiej w takiej postaci jak przykład na elektroda.pl , plus wypisane wartości jakie pojawiają się w tej sekwencji. Wiadomo że inna sekwencja jest dla zapisu a inna dla odczytu z karty.W tym przypadku ważna by była ta od odczytu.
@Gregorio - Replace after all as far as I can be good a program written. Compare what happens when the PS2 MODBO760.Here, theoretical assumptions might want to check how it is actually because it's a good chance of success.
Последний раз редактировалось lenovo3000; 08.08.2011 в 00:48.
Is it possible to change in the program MSID_dumper to read and wrote only the first sector 0x200? If you need to replace only the first sector is easier than all the 3 sectors.I made corrections in the schema.I added the keys mosfet 4066 ,because the AVR pins can be set either as inputs or as outputs. And there is a need for bidirectional communication.
The point is that the key 4066 is always in active state (bidirectional communication betwen MemoryStick <-> PSP) with the exception of the sequence of substitution of the first sector 0x200.
In total, how read and write the card in the PSP is the same as the computer's card reader.
If you do not find on the internet information of the sequence of read and write Memory Stick, then I will have to construct a sniffer which will be followed at one time a few channels (which is connected to the respective pins are the card). It's as if the plug in multichannel oscilloscope recorder with (something like Terminal for COM). I admit that an ambitious plan
Последний раз редактировалось lenovo3000; 08.08.2011 в 19:56.
Парни, прочесал всю тему и, чесслово, ничего не понял. Видимо, потому что я простой обыватель и в электронике ни в зуб ногой. У меня только один вопрос: чтобы оживить свою брикнутую ПСП мне надо либо обращаться к человеку с такой вот чудо-карточкой, либо самому мудиться со всеми этими программаторами и вырезанием микросхем (чего я, ясен пень, делать не буду)))?
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,737
Вы сказали Спасибо: 819
Поблагодарили 3,838 раз(а) в 2,015 сообщениях
Сила репутации: 1
Репутация: 3838 
(репутация неоспорима)
>>it possible to change in the program MSID_dumper to read and wrote only the first sector 0x200?
If we able to write block with msid work will be done.
Well now remains for me to know the sequence of read and write to the card memory stick. I will write again as I will have some concrete news about my idea.
PS.
The adapters, microSD -> Memory Stick when you change cards (tFlash) also varies MSID? Is it generated by the adapter chip? Could someone check? ThankYou
About reading/writing microSD/SD card : http://www.ulrichradig.de/home/uploa...sd/doc/MMC.doc http://www.ulrichradig.de/home/uploa...CSDTimming.pdf
Последний раз редактировалось lenovo3000; 09.08.2011 в 13:10.
msid stored in adapter's controller
and it's permanent
Sadly, but true.
Compared the reading of the same card tFlash two adapters. Not only do they differ MSID but also other data. Just in this topic focus on the unfortunate MSID.
But there is still a chance.I undressed one adapter (the one in worse condition), and here's what I see :
The EEPROM certainly sits MSID.This chip flooded with resin is only a translator between the device readings (eg PSP, card reader) and a memory card tFlash.
If my assumptions are accurate this is out of the situation . Just reprogram the eeprom !
93LC66 but 24LC65 better. GND -1,2,3,4 , Vcc 8 pin