Development Android Rehberim - Qualcomm Loader Reverse Engineering

Zenlty

Firmware Team Leader at OMIX Mobile Technology
VIP Üye
Katılım
23 Haz 2018
Mesajlar
1,118
Tepkime puanı
5,737
Puanları
113
Yaş
22
Konum
Beşiktaş , İstanbul , Türkiye
Çevrimdışı
1615571582849.png
Merhabalar, bu eğitimimde sizlere Qualcomm yonga setine sahip cihazların Firehose (Loader) dosyalarını tersine mühendislik ile ayıklayıp incelemeyi anlatacağım.
UYARI : Bu eğitim yalnızca Qualcomm yonga setine sahip cihazlar içindir.
UYARI : Bu eğitimde anlatılanlar yalnızca geliştirme,onarım ve bakım içindir.
UYARI : Doğacak herhangi bir sorundan yalnızca kullanıcı sorumludur.
Eğitimden faydalanarak güvenlik açıklarını inceleyebilir, zaafiyetlerden yararlanarak güvenlik protokollerini devre dışı bırakabilirsiniz.

BİLGİLENDİRME
Loader, firehose ile aynı anlamı taşır. Bununla beraber programmer 'da aynı anlama gelir.

KAZANIMLAR

  • Auth içeren cihazların auth protokollerini analiz edebileceksiniz.
  • Cihaza yapılan işlemleri şematik olarak inceleyebileceksiniz.
  • Tüm log çıktılarını cihaz üzerinde işlem yapmadan görebileceksiniz.
  • Qualcomm'un Loader ile cihaza bağlantı sağladığı tüm protokolleri tek tek irdeleyebileceksiniz.
  • Yonga setinin kapalı kaynak olarak tutulan kodlarına erişim sağlayabileceksiniz.
  • IDA Pro üzerinde şematik inceleme yapmayı öğrenebileceksiniz.
  • Binary ile çalışma prensiplerini inceleyebileceksiniz.
GEREKSİNİMLER
  • IDA Pro
  • UFS veya eMMC Firehose - Loader
  • Windows İşletim Sistemi
Eğitimde Xiaomi Redmi Note 9 Pro cihazının firehose'unu kullanacağım.
GİRİŞ
IDA Pro'u çalıştıralım.
1615572336162.png
New diyerek yeni bir çalışma alanı oluşturup dosya seçeceğiz.
1615572392641.png
ELF64 for ARM64 olan yürütülebilir seçeneği işaretliyoruz.
Processor type ise ARM olacak.
Ardından OK butonuna basıyoruz.

1615572447695.png
1615572538454.png
Output penceresinde dissamble 'ın bitmesini bekliyoruz.
1615572566306.png
1615572659154.png
Fonksiyonlar üzerine tıklayıp graph overview'den veya ana ekrandan şema inceliyoruz.
Hex View ile hex kodlarını detaylı olarak inceliyoruz.
1615572730060.png
Kaynak kodlarını görüntülemek için klavyeden F5 tuşuna basıyoruz uyarı gelince onaylıyoruz.
1615572790043.png

Sol panelden seçtiğimiz fonksiyonun artık kodlarını listeleyebiliyoruz.
1615572819551.png
Log çıktılarını incelemek için klavyeden SHIFT+F12 yapıyoruz.
1615572895688.png
Sırası ile tüm log çıktıları ekrana dökülüyor. Auth olayının nasıl gerçekleştiğini incelemek için Auth'u veya beraberinde çalıştığı bir fonksiyonu arıyoruz.
1615573077369.png
Üzerine çift tıklıyoruz.
1615573113584.png,
Satır üzerine gelip CTRL + X yapıyoruz.
1615573154572.png
Modül seçimi yapıyoruz
1615573170795.png
Şimdi CTRL tuşuna basılı tutup farenin orta tekerleği ile görünümü kısaltıyoruz.
Ve karşımızda tüm Loaderin fonksiyonları ve beraberindeki çıkış noktaları.
1615573209310.png
Okların üzerine çift tıklayarak giriş ve çıkışları listeleyebiliriz.
1615573266100.png
Ana şemanın tamamı :
1615573320647.png
EDL Mode fonksiyonları
1615573709557.png
1615573724396.png
Seri numarasını yonga setinden ekrana yazdıran kod
1615573774410.png
 
Son düzenleme:
Yararli konu olmus tabi anlayana 😅
Eline saglik kanka
 
Geri
Üst Alt