uriy 4 8 июля, 2020 Опубликовано 8 июля, 2020 · Жалоба Мне нужно модифицировать данные в чужом китайском железе в NAND флешке. После каждых 2 КБ данных явно есть 64 байта ECC. Я приложил блок данных 2 КБ в бинарном фале, после него во флешке находится такой блок данных: FF FF FF FF FF FF FF 03 C0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF 0C CC 33 FF FF FF FF FF FF FF FF FF FF FF FF FF C3 F3 F3 FF FF FF FF FF FF FF FF FF FF FF FF FF 0C 0F 03 FF FF FF FF FF FF Из готовых утилит для расчета нашел только здесь https://processors.wiki.ti.com/index.php/NAND_ECC_Generation_for_DaVinci_Family_of_Devices У меня получились такие результаты NAND operation #1 NAND4BITECC1 = 0286037B NAND4BITECC2 = 007002F2 NAND4BITECC3 = 01D002D4 NAND4BITECC4 = 0276031B NAND operation #2 NAND4BITECC1 = 01AB0242 NAND4BITECC2 = 026E0188 NAND4BITECC3 = 01E502D1 NAND4BITECC4 = 02B10352 NAND operation #3 NAND4BITECC1 = 03BB019F NAND4BITECC2 = 028A00C1 NAND4BITECC3 = 003C00A9 NAND4BITECC4 = 005A031C NAND operation #4 NAND4BITECC1 = 02DA0025 NAND4BITECC2 = 008B02F4 NAND4BITECC3 = 03280132 NAND4BITECC4 = 026100B2 и NAND operation #1 NANDFxECC = 0x0BF70BF7 NAND operation #2 NANDFxECC = 0x02ED02ED NAND operation #3 NANDFxECC = 0x01310131 NAND operation #4 NANDFxECC = 0x066F066F Не вижу ничего похожего на мой блок данных 0x800.bin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sorok-odin 5 8 июля, 2020 Опубликовано 8 июля, 2020 · Жалоба Эти сплошные FF больше похожи просто на стертую область, коды коррекции были бы более случайными. Алгоритмы используют Хемминга (самый простой, исправление одиночных ошибок), Рида-Соломона или БЧХ (оба посложнее, исправляет несколько сбоев). Для расчета ECC страница 2 КБ может кодироваться целиком, а может разбиваться на блоки эдак по 512 байт. РС или БЧХ коды могут быть построены на разное количество исправляемых ошибок. А еще не факт, что ECC лежит именно в экстра зоне, китайцы могут чередовать данные-ECC-данные-ECC-... сплошняком в основной области. Так что неизвестных для подбора у вас уйма. Где-то недавно натыкался в сети на программку программатора, которая что-то там делает с ECC для флешки по считанному дампу. Может даже подбирает алгоритм. Вроде бы ремонтники телефонов такую имеют, поищите в эту сторону. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 4 9 июля, 2020 Опубликовано 9 июля, 2020 · Жалоба Сам себе и отвечу. Вот этот алгоритм дал тот же результат что у меня http://en.verysource.com/code/7159777_1/samsung_new_ecc_for_512byte_256word.txt.html Дает три байта на каждые 512 байт данных. Назначение остальных FF нашел здесь https://pctuning.tyden.cz/ilustrace3/cerny/2010_SSD1/01_spare_assignment_standard.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться