Перейти к содержанию

Ключ раздела RPMB EMCC чтение запись раздела.


Рекомендуемые сообщения

Опубликовано


Привет коллеги.

Когда память EMCC повреждена и возникает необходимость в ее замене, часто возникает проблема с чтением раздела RPMB - это относится, в частности, к SONY TV.

Чтобы телевизор работал правильно, помимо переноса нескольких разделов из поврежденной памяти в новую, вам также необходимо знать ключ RPMB, позволяющий читать с этого раздела, а также ключ HCMAC.

Есть несколько проблем

1. Как читать ключ RPMB, он запрограммирован производителем материнской платы?

2. С помощью какого программатора правильно читать и программировать разделы RPMB?

У вас есть друзья с опытом работы в этой теме ?

  • VIP(PERMANENT)
Опубликовано

Цитирую:

Цитата

RPMB - защищенный от прямого чтения/записи раздел, предназначенный для хранения данных, к которым должен быть затруднен доступ извне.

Данные в этом разделе доступны только через процессор устройства, который получает в него доступ использующий ключ, содержащий с себе SN процессора и еще какие-то данные.

Для работы с этим разделом в процессорах содержится специальный блок, который шифрует данные и работает с этим разделом, предварительно согласовав ключи с микросхемой, в которой их еще нет.

Достоверных данных о возможности работать с этим разделом минуя процессор, неизвестно.

 

  • 4 года спустя...
Опубликовано

Здравствуйте! Я хотел бы подробнее разобраться в этой теме. Не могли бы вы подсказать, как извлечь и записать ключи RPMB? Спасибо за внимание.

  • Техподдержка
Опубликовано

Привет, коллега!
Тема раздела RPMB (Replay Protected Memory Block) в eMMC-памяти действительно непростая и часто становится камнем преткновения при ремонте телевизоров (особенно Sony, Samsung, LG) и других устройств, где защита контента и целостность критичных данных очень важна.

Давай подробно и по полочкам разберем, что такое RPMB, как с ним работают, какие ключи участвуют, как они связаны с SoC/CPU, и какие есть возможности и ограничения при замене памяти eMMC в реальных условиях ремонта.


📌 Что такое RPMB в eMMC?

RPMB (Replay Protected Memory Block) — это специальный раздел в eMMC-памяти (начиная с версии 4.4), который обеспечивает:

  • Защиту от перезаписи (replay protection);

  • Аутентификацию доступа с помощью HMAC;

  • Одноразовое программирование ключа (write-once);

  • Используется для хранения критически важных данных:

    • Ключей DRM, HMAC, HDCP,

    • Счетчиков безопасности,

    • Инициализационных данных и MAC-адресов,

    • Ключей защиты Android (keystore, avb, dm-verity).

⚠️ Этот раздел недоступен для чтения/записи напрямую (например, через обычный программатор или команды dd), так как он работает только через доверенный интерфейс с использованием HMAC-аутентификации.


🔐 Как устроена аутентификация RPMB?

Ключ RPMB:

  • RPMB Key — это 32-байтовый HMAC ключ, на базе SHA-256.

  • Программируется один раз (One Time Programmable).

  • Как только ключ записан, его уже нельзя изменить или считать обратно.

  • Чтение раздела RPMB без наличия ключа невозможно.

Кто программирует ключ?

  • В 99% случаев — CPU или Secure Boot Loader при первом запуске устройства.

  • Программирование ключа происходит через стандартный механизм Secure RPMB Write Key.

  • Ключ может быть сгенерирован на основе уникальных данных устройства (например, Serial Number CPU + ключ производителя), и загрузчиком записан в eMMC.


❗ Проблема при замене eMMC

Когда вы меняете eMMC на новую, ключ RPMB там отсутствует, раздел пуст. Если попытаться использовать новую eMMC в устройстве, не запрограммировав RPMB, то:

  • Устройство не сможет проверить аутентичность данных;

  • Загрузка ОС может не пройти;

  • Возможно отсутствие доступа к MAC-адресам, HDCP, DRM и т.д.


✅ Что нужно перенести при замене eMMC?

  1. Разделы: Boot1, Boot2, GP1... User Data — копируются hex-редактором или программатором.

  2. Раздел RPMB:

    • Если есть резервная копия + ключ — можно попытаться восстановить.

    • Без ключа — восстановление невозможно (в классическом понимании).

  3. Если замена на новую пустую eMMC:

    • Нужно, чтобы устройство само инициализировало RPMB, если оно это умеет (как часть bootloader-а).

    • Или прописать ключ вручную, если он вам известен.


🧰 Как читать/записать RPMB?

🚫 Прямой доступ невозможен:

RPMB — это доверенный раздел, и команды обычных программаторов или Linux не дают доступ к содержимому.

✅ Что можно использовать:

1. EMMC Tool / UFI / EasyJTAG / Medusa Pro / etc.

  • Поддерживают работу с RPMB при наличии ключа.

  • Можно:

    • Проверить, записан ли ключ;

    • Записать ключ (если раздел чистый);

    • Записать дамп RPMB (если ключ известен);

    • Некоторые позволяют читать RPMB, если есть правильный HMAC.

2. Custom Bootloader (например, UART bootloader):

  • Некоторые процессоры (например, Amlogic, MediaTek) позволяют загрузить кастомный бутлоадер через UART и обращаться к eMMC через него.

  • Этот бутлоадер может реализовать функции работы с RPMB.

  • Но это очень редкий и сложный путь.

3. Работа через SoC API:

  • На работающем устройстве (до замены eMMC) можно использовать API Linux:

    • ioctl() интерфейс через /dev/mmcblk0rpmb

    • Использование rpmb_dev или rpmb_read/write через rpmb-tools

    • На Android можно использовать сервисы Trusty, Keymaster, TEE и rpmbproxy.


❓ Где взять ключ RPMB?

1. Из дампа работающего устройства (если оно включается):

  • Нет способа извлечь ключ напрямую, но можно сделать дамп RPMB, пока устройство работает.

  • Используются утилиты:

    • rpmb dump на Android;

    • API Trusty / Keymaster;

    • Подключение к ядру и перехват HMAC операций (сложно).

2. От производителя:

  • Некоторые производители шифруют ключ на основе серийного номера устройства, и прошивка знает, как его восстановить.

  • Но эта информация недоступна открыто.

3. С клонированием eMMC:

  • Если старая память жива, можно клонировать всю eMMC, включая Boot1/2 и RPMB.

  • Но RPMB дамп будет бесполезен без ключа, если ключ не совпадает на новом чипе.


📌 HCMAC (или HMAC) и его роль

  • Это название HMAC-ключа, используемого в RPMB.

  • Иногда называется HCMAC в прошивках Sony/Sharp.

  • Применяется для аутентификации каждой операции записи/чтения в RPMB.

  • Без правильного HCMAC вы не можете ничего делать с RPMB, даже имея дамп.


🧠 Заключение: Возможные пути при ремонте

Сценарий Действия
eMMC умерла, ключа нет Без шансов восстановить RPMB. Надежда на автоинициализацию в bootloader
eMMC работает, есть доступ Сделать полный дамп + попытаться получить ключ через API или BootROM
eMMC работает частично Прочитать Boot1/2 + User + GP разделы, возможно удастся обойтись без RPMB
Новый чип, но есть ключ RPMB Можно записать ключ + дамп RPMB через программатор с поддержкой RPMB
Нет ключа и нет старой eMMC Требуется донор или возможность создать «нулевой» RPMB через SoC

📦 Инструменты и утилиты

  • EasyJTAG Plus / UFI Box / Medusa Pro 2 — лучшие программаторы для eMMC.

  • rpmbtool (Linux) — работа через API.

  • emmc_tool (на плате) — кастомная прошивка загрузчика.

  • Hex Editor Neo — сравнение дампов.


💡 Рекомендации

  1. Если есть доступ к устройству перед заменой eMMC — всегда делайте дампы всех разделов.

  2. Не стирайте RPMB без крайней необходимости — это необратимая операция.

  3. Для Sony TV полезно искать донор с аналогичным процессором и прошивкой, иногда RPMB можно подменить, если ключ не завязан на CPU (редко).

  4. Ведите базу ключей и дампов по моделям.


Если нужна помощь по конкретной модели телевизора или дампам — можешь выслать hex-файл или данные, посмотрим вместе, что можно сделать.

@Eduardo У вас в профиле программатор RT809H — очень популярный инструмент среди ремонтников ТВ, особенно китайских и бюджетных моделей. Однако, в контексте работы с RPMB разделом eMMC у него есть серьезные ограничения.


🧯 Может ли RT809H работать с RPMB?

❌ Нет, напрямую работать с RPMB разделом он не может.

Причины:

  1. RT809H не поддерживает аутентифицированный доступ к RPMB.
    Этот раздел защищён на уровне протокола, и для работы с ним требуется HMAC-ключ и выполнение авторизованных команд — чего RT809H не делает.

  2. RT809H работает с eMMC как обычной NAND-памятью.
    Он видит только User Area, Boot1/Boot2, EXT_CSD, иногда GP1-GP4, но не RPMB, потому что RPMB не доступен без специального API и ключа.

  3. В интерфейсе RT809H (включая последнюю прошивку и утилиты) нет поддержки операций с RPMB, таких как:

    • Установка RPMB ключа (Write Key),

    • Чтение/запись аутентифицированных блоков RPMB,

    • Проверка статуса RPMB (результат команд, счетчики и т.д.).


✅ Что RT809H может делать с eMMC:

Возможность Поддержка
Чтение/запись User Area ✅ Да
Чтение/запись Boot1/Boot2 ✅ Да
Чтение/запись EXT_CSD ✅ Да
Чтение/запись GP-разделов 🟡 Частично
Чтение/запись RPMB ❌ Нет
Установка RPMB ключа ❌ Нет
Работа с HMAC ❌ Нет

💡 Что можно сделать с RT809H при замене eMMC?

Если у тебя есть рабочая старая eMMC, и нужно клонировать память на новую, то RT809H вполне справится со следующими задачами:

  1. Считать Boot1/2, EXT_CSD, User Area.

  2. Программировать новую eMMC с этими разделами.

  3. Проверить конфигурацию EXT_CSD (режим загрузки, PARTITION_CONFIG, и т.п.)

Но если старая eMMC мертва, и RPMB уже был записан ранее, то:

  • Новый чип eMMC будет без RPMB ключа;

  • RT809H не сможет восстановить этот ключ;

  • Устройство, скорее всего, не загрузится или не будет работать корректно.


🧰 Что использовать вместо RT809H для RPMB?

Если ты планируешь работать с уровнем RPMB, тебе нужно использовать программаторы, поддерживающие:

  • Аутентифицированный доступ к RPMB,

  • Запись ключа,

  • Чтение и запись RPMB-дампов через HMAC.

Альтернативы:

Программатор RPMB поддержка Комментарий
EasyJTAG Plus / 3 ✅ Полная Лучшая поддержка RPMB
UFI Box ✅ Полная Отличный для eMMC/ISP
Medusa Pro 2 ✅ Ограничено Поддержка RPMB у некоторых чипов
ATF Nitro ✅ Ограничено Сложнее в использовании
EMMC Tool Suite 🟡 Частично Требует командной строки и знаний
RT809H ❌ Нет Только базовая eMMC работа

📌 Резюме

RT809H — отличное бюджетное решение для работы с Boot/User разделами eMMC, но он не способен ни читать, ни писать RPMB, так как не поддерживает аутентифицированный доступ с HMAC-ключом.

Если задача — заменить eMMC и восстановить RPMB, то RT809H недостаточен. Придется использовать более профессиональные инструменты вроде UFI Box или EasyJTAG Plus.


Если хочешь, я могу помочь сравнить программаторы по поддержке eMMC, или подсказать, как правильно снять дампы с RT809H, чтобы они пригодились для клонирования.

  • Отлично! 2

Kenotronbot —  я подсказываю, но думать всё равно вам. Не перепутайте!!!
🧠 Вашу голову вам пока что не заменили. Пользуйтесь по назначению.

Kenotronbot — AI-помощник по электронике и технологиям на форуме.

 

Опубликовано

Привет, сердечно приветствую, Спасибо, брат, за такое превосходное объяснение, сегодня я узнал что-то новое, вопрос, нельзя ли этот процесс сделать с помощью шестнадцатеричного редактора?

  • Техподдержка
Опубликовано

Приветствую тебя, брат! Рад, что объяснение оказалось полезным — это действительно очень интересная, хоть и непростая область. Теперь к твоему вопросу:


🔍 Можно ли разбирать и собирать прошивку с помощью только шестнадцатеричного редактора?

📌 Короткий ответ:

Да, можно, но это крайне неудобно, трудозатратно и рискованно.
Шестнадцатеричный редактор (типа HxD, Hex Editor Neo, WinHex) — полезный инструмент, но он подходит только для точечных правок, а не для полноценной работы с Android-прошивками MStar.


🔧 Где hex-редактор действительно помогает?

1. Поиск и извлечение разделов в цельном .bin или .pkg

Ты можешь вручную найти сигнатуры начала разделов (по ASCII или hex-структурам):

  • ANDROID! → начало boot.img

  • 0xED26FF3A → sparse image (system.img)

  • BOOTARGS=, MSTAR → загрузочные структуры

Затем с помощью HxD сделать:

  • Поиск по сигнатуре;

  • Определить offset;

  • Скопировать нужный блок в новый файл;

  • Сохранить как .img, .bin, .boot и т.д.


2. Исправление строковых параметров

Пример: изменить язык по умолчанию, имя модели, удалить demo mode, заменить строку URL, брендинг и т.д. — это реально и удобно через hex.


3. Модификация build.prop или переменных env

  • Эти файлы часто встречаются в виде простого текста в дампе boot или tvconfig — их можно подредактировать в hex-редакторе, если знаешь точный offset и длину.


4. Коррекция env или factory разделов

Эти разделы содержат переменные загрузки (например, bootargs, panel_type, mac_address, panel_config) — тоже можно вручную править.

Но ⚠️ будь очень аккуратен — ошибка в смещении или CRC приведёт к полному brick.


🚫 Где hex-редактор не годится:

❌ Разбор system.img (ext4 или sparse)

  • Это файловая система, а не просто "набор байтов".

  • Изменять APK, удалять приложения, менять build.prop — вручную в hex невозможно, только монтируя образ или используя simg2img.

❌ Модификация boot.img

  • Это сложная структура: заголовок + ядро + ramdisk (gzip/lz4/cpio).

  • Без специальных утилит (AIK, mkbootimg, unpackbootimg) ты не сможешь корректно изменить или собрать заново boot.img.

❌ Пересборка upgrade_loader.pkg или MStarUpgrade.bin

  • Там таблицы CRC, сигнатуры, контрольные суммы, которые обязательно считаются после сборки.

  • Одной правкой в hex без пересчета CRC можно повредить прошивку.


✅ Оптимальный подход

Что нужно Как делать
Извлечь раздел из .bin binwalk, или HxD по offset
Изменить system.img simg2img + mount + редактирование
Изменить boot.img Android Image Kitchen или mkbootimg/unpackbootimg
Патч env Hex Editor при известной структуре
Переупаковать прошивку mstar-tools или вручную с CRC
Проверка CRC только скриптами или спец. тулзами

🧠 Совет от практика

🔧 Hex-редактор — отличное дополнение, но не альтернатива специализированным инструментам.
Пользуйся hex тогда, когда точно знаешь, что правишь: не трогаешь файловую систему, не нарушаешь структуру раздела, не портишь CRC.


Если хочешь — могу разобрать конкретную прошивку и показать, какой участок удобно править в hex, а где лучше использовать утилиту.

Готов помочь на практике!

  • Отлично! 1

Kenotronbot —  я подсказываю, но думать всё равно вам. Не перепутайте!!!
🧠 Вашу голову вам пока что не заменили. Пользуйтесь по назначению.

Kenotronbot — AI-помощник по электронике и технологиям на форуме.

 

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Для полного доступа ознакомьтесь и согласитесь с нашими правилами использования ресурса. Пожалуйста, уделите этому внимание и прочтите правила внимательно!

Правила Условия использования Политика конфиденциальности Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.