← Tüm makaleler

TV USB firmware paketi nasıl yapılandırılmıştır

USB güncellemesi için hazırlanmış bir firmware dosyası tek parça, anlaşılmaz bir blok gibi görünür, ama içinde üst üste konteynerler vardır: dış bir sarmalayıcı, bir betik veya tablo ve çoğu zaman sıkıştırılmış bölüm imajları. Katmanları bilmek, neyi okuyabileceğinizi, değiştirebileceğinizi ve yeniden oluşturabileceğinizi söyler.

Şu rehberin parçası: Firmware ve dump rehberi.

Neden içine bakılır

  • Bir dosyayı yanlış TV’ye yazmadan önce sürüm, model ve SoC dizelerini bulmak için.
  • Paketin hangi bölümleri güncellediğini ve hangilerine dokunmadığını görmek için.
  • Bir paketi başka bir panele veya kumandaya uyarlamak için özellikler sayfasına bakın.

Katmanlar

  1. Dış konteyner. Üreticiye bağlı olarak düz bir arşiv (tar, zip), üreticiye özgü bir biçim (program LG EPK, Philips UPG ve Android OTA’yı tanır) veya başlıklı ham bir ikili dosya olabilir.
  2. Betik veya tablo. MStar tabanlı paketler, bootloader’a dosyanın hangi parçasının hangi flash bölgesine gideceğini söyleyen bir metin betiğiyle (filepartload gibi komutlar) başlar. Diğer aileler bir başlık tablosu kullanır.
  3. Bölüm imajları. Tipik içerik; bir kernel, bir DTB, bir initramfs (cpio) ve squashfs, cramfs, ext4, UBI/UBIFS veya JFFS2 gibi dosya sistemi imajlarının yanı sıra Android sparse imajları ve boot.img’dir.
  4. Sıkıştırma. gzip, xz, lzma, bzip2, zstd ve lz4, bu imajların etrafında yaygın sarmalayıcılardır ve iç içe geçebilir.

Bilinmeyen bir dosyayı adım adım okuma

  1. Dosyanın değişip değişmediğini sonradan anlayabilmek için boyutunu ve bir hash’ini (MD5 veya SHA-256) kaydedin.
  2. Başlık baytlarına ve okunabilir dizelere bakın: sürümler, model adları, SoC adları, betik satırları.
  3. İmzaları tarayın. Tek başına bir magic number pek bir şey kanıtlamaz; bu yüzden iyi bir tarayıcı, yanlış tespitleri önlemek için bulduğu yapıyı da (boyutlar, başlıklar) doğrular.
  4. Entropiyi kontrol edin. Yüksek ve düz entropi sıkıştırılmış veya şifreli veri demektir; çok düşük entropi boş dolgu demektir; karışık bölgeler genellikle gerçek dosya sistemi içeriğine işaret eder.
  5. İç içe geçme derinliğine bir sınır koyarak katman katman, temiz bir klasöre açın.

Bir imajın entropisi yüksekse ve tanınabilir bir imzası yoksa, büyük olasılıkla şifrelidir veya özel bir sıkıştırma kullanır. Bunu hasar olarak görmeyin ve hex düzenlemesinden sonra geri yazmaya çalışmayın: bootloader’daki imza veya sağlama toplamı kontrolleri dosyayı reddedebilir ya da daha kötüsü, bozuk bir dosyayı kabul edebilir. DOĞRULANMADI Hangi ailelerin imzayı kontrol ettiği modele göre değişir; üretici belgelerine bakın.

Tipik hatalar

  • Dosyayı yalnızca ekran boyutuna göre seçip yazmak. Dizelerdeki kart ve panel tanımlayıcılarını karşılaştırın.
  • Bir imajı yerinde düzenleyip eski sağlama toplamını veya boyut alanını bırakmak.
  • Aynı klasöre iki kez açıp eski dosyaların yenilerle karışmasına neden olmak.
  • “Hatasız açıldı” ifadesinin “aynı şekilde yeniden paketlenebilir” anlamına geldiğini varsaymak. Sıkıştırma seviyeleri ve dosya sırası sonucu değiştirir.

Bu iş FW Tool’da nasıl yapılır

  • “Firmware” sekmesi bir özet gösterir: boyut, MD5 ve SHA-256, başlık, ilgi çekici dizeler.
  • Yukarıda sayılan imzaları tarar ve doğrular; ayrıca MStar betiklerini ayrıştırır ve dosyayı bölümlere göre keser.
  • Entropi haritası sıkıştırılmış veya şifreli alanları ve dolguyu işaretler (bir onay kutusu, varsayılan olarak açık).
  • Özyinelemeli açmada bir iç içe geçme derinliği ayarı vardır (0 ile 8 arası, varsayılan 3). Bazı dosya sistemleri, kuruluysa 7-Zip veya unsquashfs gibi harici araçlar gerektirir.
  • tar tabanlı paketlerde, dosyaları değiştirdikten sonra program paketi yeniden oluşturabilir.
  • “Adaptasyon” sekmesi desteklenen bir paketi okur, bulduğu panel ve kumanda ayarlarını gösterir ve değiştirilmiş bir paket oluşturur. Ayrıca bkz. LVDS mapping ve bit derinliği.

Bir pakete dokunmadan önce, mümkünse çalışan cihazın dump’ını alın: bkz. dump’ları ve hash’leri karşılaştırma.

SSS

Her firmware dosyası açılabilir mi?

Hayır. Şifreli veya imzalı konteynerler yüksek entropi gösterir ve kullanılabilir bir yapı sunmaz. Program neyi tanıyabildiğini söyler; anahtarı olmadığı şeyin şifresini çözemez.

Hangi derinliği kullanmalıyım?

Varsayılanla başlayın ve yalnızca sonuçta hâlâ arşivler varsa artırın. Daha fazla derinlik, daha fazla disk alanı ve zaman demektir.

Açılan veriyi yazmak güvenli mi?

Açılan dosyalar inceleme içindir. Yalnızca yeniden oluşturduğunuz veya sağlam elde ettiğiniz eksiksiz bir paketi, geri dönebileceğiniz bir dump’ınızın olduğu cihaza yazın.

Yazmadan önce pratik bir kontrol listesi

  • Dosyadaki model, kart ve panel tanımlayıcıları, onardığınız TV ile eşleşiyor.
  • Kaynak belirtiyorsa dosya boyutu ve hash, kaynağın bildirdiğiyle eşleşiyor. Yarıda kesilen bir indirme, başarısız güncellemelerin yaygın bir nedenidir.
  • USB bellek üreticinin istediği gibi biçimlendirilmiş (genellikle FAT32 seçilir) ve yalnızca güncelleme dosyasını, beklenen klasörde veya adla içeriyor. DOĞRULANMADI Dosya adları ve klasör kuralları platforma göre değişir; üretici talimatlarına bakın.
  • Mevcut belleğin bir dump’ı elinizde, böylece başarısız bir güncelleme geri alınabilir.
  • Şebeke beslemesi kararlı ve TV güncelleme sırasında kapatılmayacak.

Bilgisayarda sağlam görünen bir paket, bilgisayarın göremediği nedenlerle (örneğin bootloader’daki bir sürüm kontrolü) TV’de yine de başarısız olabilir. Analizi, riski ortadan kaldırmanın değil azaltmanın bir yolu olarak görün.

Demoyu indirin


FW Tool'u deneyin (demo)