| |
| PSP хакинг и девелопмент Взгляд изнутри |
26.11.2011, 07:42
|
Сообщение: #1 (992032)
|
Модель консоли: Все PSP
Прошивка: 5.00 m33-6
Регистрация: 20.01.2010
Сообщений: 3,415
Вы сказали Спасибо: 2,368
Поблагодарили 1,623 раз(а) в 873 сообщениях
Сила репутации: 1Репутация: 1623 
(обеспечено прекрасное будущее)
|
Сообщение от Yokel
Ты просто откомпилил что было. в примере он обрабатывает 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.
|
|
|
|
|
26.11.2011, 12:48
|
Сообщение: #2 (992084)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,877 раз(а) в 12,400 сообщениях
Сила репутации: 10Репутация: 43068 
(репутация неоспорима)
|
Frostegater, всё правильно - 255, но туда ещё входят Parity байты, которые вставляются по формуле степеней 2 в степени m = 2, 4, 8, 16, 32...
Да и при том, что у каждого производителя контроллёров, алгоритм подсчёта свой CustomRS.
Насколько я понял, для рассчёта ECC в основном используется код Hamming'a, конечно же базирующийся на коде RS.
Так что здесь не всё так радужно.
|
|
|
|
26.11.2011, 12:52
|
Сообщение: #3 (992085)
|
Модель консоли: Все PSP
Прошивка: 5.00 m33-6
Регистрация: 20.01.2010
Сообщений: 3,415
Вы сказали Спасибо: 2,368
Поблагодарили 1,623 раз(а) в 873 сообщениях
Сила репутации: 1Репутация: 1623 
(обеспечено прекрасное будущее)
|
Сообщение от ErikPshat
Frostegater, всё правильно 255, включая 0, итого ровно 256.
Да и при том, что у каждого производителя контроллёров, алгоритм подсчёта свой CustomRS.
Насколько я понял, для рассчёта ECC в основном используется код Hamming'a, конечно же базирующийся на коде RS.
Так что здесь не всё так радужно.
|
А чё он у меня тогда 518 требует?..)))
Плин. Ты подавил мой тонус... Короче, железячники, дампите контроллер, мы, программисты, реверсанём.
|
|
|
|
27.11.2011, 08:39
|
Сообщение: #4 (992390)
|
Регистрация: 15.09.2010
Возраст: 41
Сообщений: 87
Вы сказали Спасибо: 6
Поблагодарили 29 раз(а) в 24 сообщениях
Сила репутации: 1Репутация: 38 
(на пути к лучшему)
|
Сообщение от Korugo
Простите, что вмешиваюсь.
Вот еще занятная штука, хотя может уже видели.
http://www.elnec.com/sw/an_elnec_nand_flash.pdf
http://www.elnec.com/sw/samsung_ecc_...m_for_512b.pdf
В последнем документе расписывается структура 16-байтного ECC для 512-байт блоков.
1,2,3 байты - номер блока
4, 5 - зарезервировано
6 - метка бэд-блока
7,8,9 - ECC code for Main area data, алгоритм вычисления тоже описан
10, 11 - ECC code for LSN data (ECC для номера блока) - заметьте, вычисляется отдельно и независимо от основных данных. Здесь уже предлагалось записать на карточку блок с нужными данными и подсмотреть его ECC, не прокатило - но что если здесь так же, то есть надо заменять не весь ECC а часть отвечающую за именно данные в блоке?
12-16 - зарезервировано.
с другой стороны, это только пример, и то от самсунга. Еще там написано что это для 64м-1гб нандов, для 2гб алгоритм может быть другим.
|
Тут написано, что 6
|
|
|
|
27.11.2011, 08:48
|
Сообщение: #5 (992392)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,877 раз(а) в 12,400 сообщениях
Сила репутации: 10Репутация: 43068 
(репутация неоспорима)
|
Сообщение от Yokel
Тут написано, что 6
|
Да, я читал это и поэтому полез рыскать. Был на Тошиба, Самсунг и Hynix.
По моему на Самсунге читал про 4-ый байт. Но могу ошибаться, потому что от переваренной информации и этих кодов Рида-Соломона гоова пошла кругом
Так что вполне похоже, что действительно 6-ой, тем более, что вроде всё сходится.
Только почему у тебя 4-ый не зарезервированный?
|
|
|
|
25.11.2011, 19:20
|
Сообщение: #6 (991904)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,877 раз(а) в 12,400 сообщениях
Сила репутации: 10Репутация: 43068 
(репутация неоспорима)
|
Карта 2 Гига имеет 2 банка по 1 Гигу.
1 Гб = 1073741824 байт.
Значит 2097152 секторов.
Получается 524288 страницы.
А это всего лишь 8192 блоков.
Значит в двух банках 16384 блоков или 0х4000.
|
|
|
|
26.11.2011, 13:12
|
Сообщение: #7 (992095)
|
Регистрация: 15.09.2010
Возраст: 41
Сообщений: 87
Вы сказали Спасибо: 6
Поблагодарили 29 раз(а) в 24 сообщениях
Сила репутации: 1Репутация: 38 
(на пути к лучшему)
|
Зечем контроллер дампить? ФлешЭкстрактор софт-центра в обратную сторону все считает! (по ЕСС восстанавливает данные)
|
|
|
|
26.11.2011, 14:32
|
Сообщение: #8 (992123)
|
Модель консоли: PSP-3004
Регистрация: 18.11.2011
Сообщений: 3
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Сила репутации: 0Репутация: 1 
(с надеждой на лучшее)
|
алгоритмы ЕСС в нандах устройств от 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.
|
Но все равно результат не тот. Этих реализаций до черта, и в каждой видимо по своему делается.
|
|
|
|
|
Этот пользователь сказал Спасибо Korugo за это полезное сообщение:
|
|
26.11.2011, 14:39
|
Сообщение: #9 (992124)
|
Регистрация: 15.09.2010
Возраст: 41
Сообщений: 87
Вы сказали Спасибо: 6
Поблагодарили 29 раз(а) в 24 сообщениях
Сила репутации: 1Репутация: 38 
(на пути к лучшему)
|
дак дело не в нандах как я понимаю а в контроллере флешки(вернее даже не в самом контроллере а в его прошивке, потому как на одном и том же контроллере можно разные алгоритмы реализовать)
|
|
|
|
26.11.2011, 14:58
|
Сообщение: #10 (992130)
|
Модель консоли: PSP-3004
Регистрация: 18.11.2011
Сообщений: 3
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Сила репутации: 0Репутация: 1 
(с надеждой на лучшее)
|
Конечно в контроллере, это же он все расчеты производит. ЕCC различается даже на разных мемористиках.
Вон на форуме флеш-экстрактора народ какие-то значения для ECC к разным флешкам подбирает.
http://flash-extractor.com/forum/vie...er=asc&start=0
что бы они значили...
|
|
|
|
26.11.2011, 19:40
|
Сообщение: #11 (992213)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,877 раз(а) в 12,400 сообщениях
Сила репутации: 10Репутация: 43068 
(репутация неоспорима)
|
Сообщение от Korugo
ЕCC различается даже на разных мемористиках.
|
Да, даже одинаковые данные на разных стиках, вернее с разным контроллёром, имеют разный ECC. То есть, там явно видно, что идёт совершенно другая структура ECC.
Взять даже обычный Nand-Dump PSP, а он снимается так же в RAW-формате вместе с этим избыточным кодом.
Сообщение от Yokel
два блока с одинаковыми данными но разными адресами надо!
|
Я думаю лучше нужно полностью забить флешку до байтика.
Если флешка 2 Гб, то нужно: - Создать файл, размером ровно 2 Гб (2147483648 байт)
- Полностью сделать на него Fill одним и тем же байтом, например буквой Z.
- Потом в первый сектор каждого блока записать один и тот же сектор служебной области с MSID.
- Потом залить на карту по USB и снова снять RAW-дамп.
Таким образом, на карте не окажется случайных данных.
Ведь даже при быстром форматировании, данные не удаляются и этот мусор будет мешать изучению.
При полном форматировании, данные удаляются, но перезаписываются другим мусором.
Таким образом будет видно, как изменится ECC в разных блоках, как будет происходить нумерация блоков.
И соответственно будет чётко видно нашу " Z" и его ECC в разных блоках.
Так же, мы сможем сравнить сектор MSID оригинальный системный и этот же сектор в разных других несистемных областях.
Потом сделать вывод о данных ECC.
|
|
|
|
26.11.2011, 20:55
|
Сообщение: #12 (992266)
|
Модель консоли: PSP-1004
Прошивка: 6.61 PROMOD-C2p
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,836
Вы сказали Спасибо: 826
Поблагодарили 3,973 раз(а) в 2,070 сообщениях
Сила репутации: 10Репутация: 3973 
(репутация неоспорима)
|
Сообщение от ErikPshat
Создать файл, размером ровно 2 Гб (2147483648 байт)
|
На вкус и цвет все фломастеры... Ой, не об этом же =) У всех производителей пользовательские 2ГБ разные. И чаще всего это 1.90 ГБ (x1024) либо ~200000000 байт (x1000).
|
|
|
|
26.11.2011, 21:19
|
Сообщение: #13 (992274)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,877 раз(а) в 12,400 сообщениях
Сила репутации: 10Репутация: 43068 
(репутация неоспорима)
|
Yoti, а ну да. Я замерял размер дампа флешки 2 Гб, она ровно байт в байт = 2 Гб (2147483648 байт).
Но это надо учитывать, что там служебная область забирает место и + избыточные 16 байт у каждого сектора.
Тут надо математикой заняться поглубже ))) ну 16 байт у каждого сектора, значит избыточных данных ровно 67108864 байт, которые нужно вычесть. И по моему там только один служебный блок.
|
|
|
|
26.11.2011, 23:34
|
Сообщение: #14 (992321)
|
Модель консоли: 1004,2000,3008
Прошивка: 6.30 PWHT
Другие консоли: XBOX 360, PlayStation®3 500Gb 3.55
Регистрация: 30.01.2007
Адрес: Москва
Возраст: 34
Сообщений: 623
Вы сказали Спасибо: 205
Поблагодарили 157 раз(а) в 115 сообщениях
Сила репутации: 1Репутация: 159 
(весьма и весьма положительная личность)
|
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.
Причина: добавил, подумав
|
|
|
|
26.11.2011, 15:37
|
Сообщение: #15 (992135)
|
Регистрация: 15.09.2010
Возраст: 41
Сообщений: 87
Вы сказали Спасибо: 6
Поблагодарили 29 раз(а) в 24 сообщениях
Сила репутации: 1Репутация: 38 
(на пути к лучшему)
|
Кто то юзал карты на контроллере кроме UD1X? Потому что в этих точно адрес участвует в расчете ЕСС, может на других контроллерах не участвует?
|
|
|
|
26.11.2011, 16:56
|
Сообщение: #16 (992159)
|
Модель консоли: 1004,2000,3008
Прошивка: 6.30 PWHT
Другие консоли: XBOX 360, PlayStation®3 500Gb 3.55
Регистрация: 30.01.2007
Адрес: Москва
Возраст: 34
Сообщений: 623
Вы сказали Спасибо: 205
Поблагодарили 157 раз(а) в 115 сообщениях
Сила репутации: 1Репутация: 159 
(весьма и весьма положительная личность)
|
Yokel, я пользую карты на другом контроллере
|
|
|
|
26.11.2011, 16:58
|
Сообщение: #17 (992160)
|
Регистрация: 15.09.2010
Возраст: 41
Сообщений: 87
Вы сказали Спасибо: 6
Поблагодарили 29 раз(а) в 24 сообщениях
Сила репутации: 1Репутация: 38 
(на пути к лучшему)
|
Сообщение от gregorio
Yokel, я пользую карты на другом контроллере
|
и че? участвует адрес?
|
|
|
|
26.11.2011, 18:22
|
Сообщение: #18 (992179)
|
Модель консоли: 1004,2000,3008
Прошивка: 6.30 PWHT
Другие консоли: XBOX 360, PlayStation®3 500Gb 3.55
Регистрация: 30.01.2007
Адрес: Москва
Возраст: 34
Сообщений: 623
Вы сказали Спасибо: 205
Поблагодарили 157 раз(а) в 115 сообщениях
Сила репутации: 1Репутация: 159 
(весьма и весьма положительная личность)
|
Yokel, кстати не уверен. дамп залить куда-нибудь?
|
|
|
|
26.11.2011, 16:56
|
Сообщение: #19 (992158)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,877 раз(а) в 12,400 сообщениях
Сила репутации: 10Репутация: 43068 
(репутация неоспорима)
|
|
|
|
|
26.11.2011, 19:10
|
Сообщение: #20 (992197)
|
Регистрация: 15.09.2010
Возраст: 41
Сообщений: 87
Вы сказали Спасибо: 6
Поблагодарили 29 раз(а) в 24 сообщениях
Сила репутации: 1Репутация: 38 
(на пути к лучшему)
|
два блока с одинаковыми данными но разными адресами надо!
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
| Опции темы |
|
|
| Опции просмотра |
Комбинированный вид
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 02:14. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.
|
|
|