İki eMMC/SPI dump’ını karşılaştırma: hash’ler ve farklar
Dump ancak aslına sadık bir kopyaysa işe yarar. Aynı çipin iki okuması bit bit eşleşmelidir; eşleşmiyorsa temaslarda, beslemede veya okuyucuda bir sorun vardır. Hash’ler ve bayt karşılaştırması hangisi olduğunu söyler.
Şu rehberin parçası: Firmware ve dump rehberi.
Ne zaman karşılaştırmak gerekir
- Bir çipi okuduktan hemen sonra: kopya 1 ile kopya 2.
- Onarımdan önce ve sonra: TV kendi belleğinde neyi değiştirdi?
- Aynı karta sahip çalışan bir cihaz ile arızalı bir cihaz.
- Yazdıktan sonra: geri okuyun ve yazdığınız dosyayla karşılaştırın.
Adım adım
- Okumalar arasında hiçbir şeye dokunmadan çipi iki kez okuyun. İlk kez yapıyorsanız çalışma sırası için bkz. eMMC dump okuma ve SPI flash SOIC8 pin dizilimi.
- Dosya boyutlarını kontrol edin. Aynı olmaları gerekir. Farklı boyut, okumanın yarıda kesildiği veya yanlış bölgenin okunduğu anlamına gelir.
- Her dosyanın hash’ini hesaplayın. CRC32 hızlıdır ve kazara oluşan hataları yakalamak için yeterlidir; referans kaydetmek için MD5, SHA-1 ve SHA-256 daha iyidir. Eşit hash’ler, dosyaların aynı olduğu anlamına gelir.
- Hash’ler farklıysa, farklı aralıkların listesini (ofset ve uzunluk) almak için bayt bayt karşılaştırma çalıştırın.
- Deseni yorumlayın, nedeni giderin ve yeniden okuyun.
Farkları okuma
| Desen | Muhtemel anlamı |
|---|---|
| Her okumada farklı çıkan, dağınık birkaç tek bayt veya küçük bloklar | Kararsız temas veya sınırda besleme; kabloları yeniden yerleştirin ve kısaltın |
| Kopyalardan birinde geniş bir 0x00 veya 0xFF bölgesi | Okuma başarısız oldu veya durdu; okuyucuyu ve beslemeyi kontrol edin |
| İki TV arasında hep aynı birkaç alanın farklı olması | Cihaza özgü veriler (seri numaraları, MAC, kalibrasyon) veya günlükler; beklenen durum |
| Yalnızca sonda farklar | Boyutlar farklı; ortak kısım eşleşiyor ve kuyruk ayrıca bildirilir |
Bir eMMC’yi devre üzerinde okurken TV çalışıyorsa, kendi firmware’i okuma sırasında çipe yazabilir; bu yüzden iki geçerli okuma birbirinden farklı olabilir. Ana sistem çalışmazken okuyun ve bir günlük alanındaki farkın kötü bir okuma anlamına geldiğini asla varsaymayın.
Tipik hatalar
- Bir dump’ı bir firmware paketiyle karşılaştırıp eşleşme beklemek. Bunlar farklı şeylerdir.
- Tek okumaya güvenmek. Tek bir okuma, yalnızca ikincide ortaya çıkan kötü bir teması gizleyebilir.
- Bir dump’ı elle “düzelttikten” sonra karşılaştırmak. Önce orijinalin hash’ini alın ve saklayın.
- Boyut kontrolünü göz ardı etmek.
Bu iş FW Tool’da nasıl yapılır
- “Referans → Hex araçları”, bir dosya üzerinde tek geçişte CRC32, MD5, SHA-1 ve SHA-256 hesaplar; büyük dump’lar için ilerleme göstergesi ve iptal vardır.
- Karşılaştırma işlevi bayt bayt, akış halinde çalışır ve farklı bayt sayısını ve aralıkların listesini (ofset, uzunluk) döndürür; liste sınırlıdır ve kesildiğinde program bunu size bildirir. Boyutlar farklıysa ortak kısım karşılaştırılır ve kuyruk ayrıca sayılır.
- Aynı sekmede bir hex desenini veya bir metin dizesini (ASCII ve UTF-16) arayabilir ve ofsetler ile ASCII içeren klasik bir hex görünümü görebilirsiniz.
- “eMMC dump” sekmesinde, dump’a yazma varsayılan olarak kapalıdır ve bir onay kutusuyla açılır; açmadan önce bir kopya alın ve hash’ini doğrulayın. Bkz. tüm özellikler.
Kopyanız doğrulandıktan sonra, USB firmware paketi nasıl yapılandırılmıştır yazısındaki gibi inceleyebilirsiniz.
SSS
CRC32 yeterli mi?
Kötü bir okumayı yakalamak için evet. Uzun vadeli bir referans kaydı için ayrıca daha güçlü bir hash saklayın.
İki iyi okuma birkaç yerde farklı. Dump kötü mü?
Mutlaka değil. Nerede olduğuna bakın: günlükler, sayaçlar ve zaman damgaları kendiliğinden değişir. Okumayı tekrarlayın ve aynı aralıkların farklı çıkıp çıkmadığına bakın.
Bölüm imajlarından oluşan bir eMMC klasörünü karşılaştırabilir miyim?
Dosya dosya hash’leyin ve karşılaştırın. Eşleşen bölümleri tek tek işaretleyebilirsiniz.
Kayıt tutma
Her cihaz için çip işaretini, dump’ın boyutunu, hash’i ve tarihi not edin. Orijinal dump’ı salt okunur saklayın ve yalnızca kopyalar üzerinde çalışın. Daha sonra aynı modeli aldığınızda, hash sayesinde size gönderilen bir dump’ın sizinkiyle aynı olup olmadığını açmadan hemen kontrol edebilirsiniz. Aynı modelden çok sayıda TV’ye servis veriyorsanız, doğrulanmış dump’lardan oluşan bir koleksiyon, sorunun donanımda değil bellek içeriğinde şüphelenildiği arızalar için bir referans kütüphanesine dönüşür.
Karşılaştırmanın ikinci bir kullanımı, onarım denemesinden sonradır. Çipi okuyun, tek bir şeyi değiştirin, yeniden okuyun ve karşılaştırın: aralıklar listesi, TV’nin hangi alanları yeniden yazdığını tam olarak gösterir. Hangi bölümlerin ayarları, hangilerinin sistemi tuttuğunu öğrenmenin ve bir yedekten nelerin güvenle geri yüklenebileceğine karar vermenin basit bir yoludur.
Son olarak, eşleşen bir hash’in yalnızca iki dosyanın aynı olduğunu kanıtladığını, içeriğin iyi olduğunu kanıtlamadığını unutmayın. Arızalı bir hücreye sahip bir çipin veya sürekli kusurlu bir temas üzerinden okunan bir çipin iki özdeş okuması birbiriyle uyuşur ve yine de yanlıştır. Mümkünse dump’ı, bölüm tablosunun okunabildiğini ve dosya sistemlerinin açıldığını kontrol ederek doğrulayın; bu eMMC dump makalesinde anlatılmıştır.