← Усі статті

Порівняння двох дампів eMMC/SPI: хеші та відмінності

Дамп корисний, лише якщо він точна копія. Два зчитування однієї мікросхеми мають збігатися біт у біт; якщо ні, щось не так із контактами, живленням або зчитувачем. Хеші та побайтове порівняння покажуть, що саме.

Частина розділу: Посібник із прошивок і дампів.

Коли потрібне порівняння

  • Одразу після зчитування мікросхеми: копія 1 проти копії 2.
  • До і після ремонту: що змінив ТВ у власній пам’яті?
  • Робочий апарат проти несправного з тією самою платою.
  • Після запису: зчитати назад і порівняти з файлом, який записували.

Крок за кроком

  1. Прочитайте мікросхему двічі, нічого не чіпаючи між зчитуваннями. Про порядок роботи вперше дивіться читання дампа eMMC і розпінування SPI-флеш SOIC8.
  2. Перевірте розміри файлів. Вони мають бути однаковими. Інший розмір означає, що зчитування обірвалося або прочитано не ту область.
  3. Порахуйте хеш кожного файла. CRC32 швидкий і добре виявляє випадкові помилки; MD5, SHA-1 і SHA-256 краще підходять для запису еталона. Однакові хеші означають ідентичні файли.
  4. Якщо хеші різняться, запустіть побайтове порівняння, щоб отримати список областей, що відрізняються (зміщення й довжина).
  5. Витлумачте картину, усуньте причину й зчитайте знову.

Як читати відмінності

Картина Імовірне значення
Кілька розкиданих окремих байтів або малих блоків, різні за кожного зчитування Нестабільний контакт або межове живлення; перепаяйте дроти й скоротіть їх
Велика область 0x00 або 0xFF в одній з копій Зчитування не вдалося або зупинилося; перевірте зчитувач і живлення
Одні й ті самі кілька ділянок завжди відрізняються між двома ТВ Дані конкретного апарата (серійні номери, MAC, калібрування) або логи; це нормально
Відмінності лише в кінці Розміри різні; спільна частина збігається, а хвіст повідомляється окремо

Якщо ТВ працює, поки ви читаєте eMMC у платі, його власна прошивка може писати в мікросхему під час зчитування, тому два коректні зчитування можуть відрізнятися. Читайте, коли основна система не працює, і ніколи не вважайте, що відмінність в області логів означає погане зчитування.

Типові помилки

  • Порівнювати дамп із пакетом прошивки й чекати збігу. Це різні речі.
  • Довіряти одному зчитуванню. Одне зчитування може приховати поганий контакт, який проявиться лише за другого.
  • Порівнювати після «виправлення» дампа вручну. Спершу порахуйте хеш оригіналу й збережіть його.
  • Ігнорувати перевірку розміру.

Як це робиться у FW Tool

  • «Довідник → Hex-утиліти» за один прохід по файлу рахує CRC32, MD5, SHA-1 і SHA-256, з індикатором прогресу та скасуванням для великих дампів.
  • Функція порівняння працює побайтово, потоково, і повертає кількість байтів, що відрізняються, та список областей (зміщення, довжина); список обмежено, і програма повідомляє, коли його було скорочено. Якщо розміри різні, порівнюється спільна частина, а хвіст рахується окремо.
  • У цій самій вкладці можна шукати hex-шаблон або текстовий рядок (ASCII і UTF-16) та переглядати класичне hex-представлення зі зміщеннями й ASCII.
  • У вкладці «Дамп eMMC» запис у дамп вимкнено за замовчуванням і вмикається галочкою; перед увімкненням зробіть копію й перевірте її хеш. Дивіться усі можливості.

Коли вашу копію перевірено, її можна досліджувати, як описано в статті як побудований USB-пакет прошивки.

Запитання й відповіді

Чи достатньо CRC32?

Щоб виявити погане зчитування — так. Для довгострокового еталонного запису збережіть ще й надійніший хеш.

Два добрі зчитування відрізняються в кількох місцях. Чи дамп поганий?

Не обов’язково. Подивіться, де саме: логи, лічильники й мітки часу змінюються самі. Повторіть зчитування й перевірте, чи відрізняються ті самі області.

Чи можна порівнювати папку eMMC з образами розділів?

Хешуйте й порівнюйте файл за файлом. Розділи, що збігаються, можна відзначати окремо.

Ведення записів

Для кожного пристрою записуйте маркування мікросхеми, розмір дампа, хеш і дату. Зберігайте оригінальний дамп лише для читання, а працюйте тільки з копіями. Коли пізніше до вас потрапить така сама модель, хеш дасть змогу відразу перевірити, чи надісланий вам дамп ідентичний вашому, не відкриваючи його. Якщо ви обслуговуєте багато ТВ однієї моделі, колекція перевірених дампів стає еталонною бібліотекою для несправностей, у яких підозрюють вміст пам’яті, а не апаратну частину.

Друге застосування порівняння — після спроби ремонту. Прочитайте мікросхему, змініть одну річ, прочитайте знову й порівняйте: список областей покаже, які саме ділянки переписав ТВ. Це простий спосіб дізнатися, які розділи містять налаштування, а які систему, і вирішити, що можна безпечно відновити з резервної копії.

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

Завантажити демо


Спробувати FW Tool (демо)