PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   Pandora (unbricker/downgrader) для PSP-200X TA-088v3 (https://www.pspx.ru/forum/showthread.php?t=92433)

Yokel 26.11.2011 06:33

Вложений: 1
Цитата:

Сообщение от Frostegater (Сообщение 992007)
Нудя.. понял, поработаю.

Вот пару валидных блоков 518/10 для проверки.

frostegater 26.11.2011 07:42

Цитата:

Сообщение от Yokel (Сообщение 991891)
Ты просто откомпилил что было. в примере он обрабатывает 255 байт данных а нам надо 518, и ECC нам надо не 6 байт, а 10!

Рид-Соломон больше 255 байт не может обрабатывать.

Цитата:

Сообщение от Readme
Remember, the sum of the message length (in bytes) plus parity bytes
must be less than or equal to 255.


ErikPshat 26.11.2011 12:48

Frostegater, всё правильно - 255, но туда ещё входят Parity байты, которые вставляются по формуле степеней 2 в степени m = 2, 4, 8, 16, 32...
Да и при том, что у каждого производителя контроллёров, алгоритм подсчёта свой CustomRS.
Насколько я понял, для рассчёта ECC в основном используется код Hamming'a, конечно же базирующийся на коде RS.
Так что здесь не всё так радужно.

frostegater 26.11.2011 12:52

Цитата:

Сообщение от ErikPshat (Сообщение 992084)
Frostegater, всё правильно 255, включая 0, итого ровно 256.

Да и при том, что у каждого производителя контроллёров, алгоритм подсчёта свой CustomRS.
Насколько я понял, для рассчёта ECC в основном используется код Hamming'a, конечно же базирующийся на коде RS.
Так что здесь не всё так радужно.

А чё он у меня тогда 518 требует?..)))
Плин. Ты подавил мой тонус... Короче, железячники, дампите контроллер, мы, программисты, реверсанём.

Yokel 26.11.2011 13:12

Зечем контроллер дампить? ФлешЭкстрактор софт-центра в обратную сторону все считает! (по ЕСС восстанавливает данные)

Korugo 26.11.2011 14:32

алгоритмы ЕСС в нандах устройств от Texas Instruments:
http://processors.wiki.ti.com/index....ily_of_Devices
Есть готовое приложение GenECC.
Цитата:

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.
Есть исходники на C#.
http://sourceforge.net/projects/dvfl...d?source=files
На каждые 512 байт получается, как и здесь, 80 бит ECC-кода по риду-соломону.
Цитата:

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.
Но все равно результат не тот. Этих реализаций до черта, и в каждой видимо по своему делается.

Yokel 26.11.2011 14:39

дак дело не в нандах как я понимаю а в контроллере флешки(вернее даже не в самом контроллере а в его прошивке, потому как на одном и том же контроллере можно разные алгоритмы реализовать)

Korugo 26.11.2011 14:58

Конечно в контроллере, это же он все расчеты производит. ЕCC различается даже на разных мемористиках.
Вон на форуме флеш-экстрактора народ какие-то значения для ECC к разным флешкам подбирает.
http://flash-extractor.com/forum/vie...er=asc&start=0
что бы они значили...

Yokel 26.11.2011 15:37

Кто то юзал карты на контроллере кроме UD1X? Потому что в этих точно адрес участвует в расчете ЕСС, может на других контроллерах не участвует?

ErikPshat 26.11.2011 16:56

Здесь ещё интересная статья: http://processors.wiki.ti.com/index.php/Raw_NAND_ECC

Gregorio 26.11.2011 16:56

Yokel, я пользую карты на другом контроллере

Yokel 26.11.2011 16:58

Цитата:

Сообщение от gregorio (Сообщение 992159)
Yokel, я пользую карты на другом контроллере

и че? участвует адрес?

Gregorio 26.11.2011 18:22

Yokel, кстати не уверен. дамп залить куда-нибудь?

Yokel 26.11.2011 19:10

два блока с одинаковыми данными но разными адресами надо!

ErikPshat 26.11.2011 19:40

Цитата:

Сообщение от Korugo (Сообщение 992130)
ЕCC различается даже на разных мемористиках.

Да, даже одинаковые данные на разных стиках, вернее с разным контроллёром, имеют разный ECC. То есть, там явно видно, что идёт совершенно другая структура ECC.

Взять даже обычный Nand-Dump PSP, а он снимается так же в RAW-формате вместе с этим избыточным кодом.

Цитата:

Сообщение от Yokel (Сообщение 992197)
два блока с одинаковыми данными но разными адресами надо!

Я думаю лучше нужно полностью забить флешку до байтика.
Если флешка 2 Гб, то нужно:
  1. Создать файл, размером ровно 2 Гб (2147483648 байт)
  2. Полностью сделать на него Fill одним и тем же байтом, например буквой Z.
  3. Потом в первый сектор каждого блока записать один и тот же сектор служебной области с MSID.
  4. Потом залить на карту по USB и снова снять RAW-дамп.
Таким образом, на карте не окажется случайных данных.

Ведь даже при быстром форматировании, данные не удаляются и этот мусор будет мешать изучению.
При полном форматировании, данные удаляются, но перезаписываются другим мусором.

Таким образом будет видно, как изменится ECC в разных блоках, как будет происходить нумерация блоков.
И соответственно будет чётко видно нашу "Z" и его ECC в разных блоках.
Так же, мы сможем сравнить сектор MSID оригинальный системный и этот же сектор в разных других несистемных областях.
Потом сделать вывод о данных ECC.

Yoti 26.11.2011 20:55

Цитата:

Сообщение от ErikPshat (Сообщение 992213)
Создать файл, размером ровно 2 Гб (2147483648 байт)

На вкус и цвет все фломастеры... Ой, не об этом же =) У всех производителей пользовательские 2ГБ разные. И чаще всего это 1.90 ГБ (x1024) либо ~200000000 байт (x1000).

ErikPshat 26.11.2011 21:19

Yoti, а ну да. Я замерял размер дампа флешки 2 Гб, она ровно байт в байт = 2 Гб (2147483648 байт).

Но это надо учитывать, что там служебная область забирает место и + избыточные 16 байт у каждого сектора.
Тут надо математикой заняться поглубже ))) ну 16 байт у каждого сектора, значит избыточных данных ровно 67108864 байт, которые нужно вычесть. И по моему там только один служебный блок.

Gregorio 26.11.2011 23:34

ErikPshat, есть двушка и четвёрка подходящие под сервисные. могу сказать точный размер или скинуть дамп в хексе. поправишь его или сделаешь свой. зальём и проверим. если что я буду в асе(и дома) после половины первого, пиши если спать не будешь. как раз у меня будет время на всё

gregorio добавил 26.11.2011 в 23:29
и заодно есть чем проверить работоспособность) ведь по всеобщему мнению просто именно сами карты дохнут, а у меня некий софт на них работать отказывается.

gregorio добавил 26.11.2011 в 23:33
и именно из-за несовпадения контрольной суммы

gregorio добавил 26.11.2011 в 23:34
и еще, для общего развития, зануление ECC на кое-каких картах работает. и всё заново подсчитывается. но они редкие и довольно сложно пишутся

ErikPshat 26.11.2011 23:42

gregorio, ок, ася включена.

Проще конечно манипулировать 2 Гб картой.
Размер логического диска можно посмотреть через свойства, чем высчитывать: 2'033'942'528 байт = 3'972'544 секторов = 62071 блока.

Я подготовил сырой образ, забитый "X", потому что "Z" означает 5A, а это символ метки MBR карты.
От тебя нужен только сектор MSID от той карты, на которой будет производиться эксперимент.

Gregorio 26.11.2011 23:45

ErikPshat, ща в асю приду, но дома буду только пол первого, и займусь


Текущее время: 02:40. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.