iOS ikili analizi: Mach-O, Objective-C ve Swift
Bir iOS uygulamasının ikilisini statik olarak okursun: Mach-O yapısını, yükleme komutlarını, Objective-C ve Swift üst verisini çözer, güvenlik denetimlerini ve gömülü sırları sözde koddan bulursun.
Seviye 401 · 18 ders · 15 pratik lab
Dersler
Mach-O
- Mach-O yapısı: başlık, yükleme komutları, kesimler
- Çok mimarili ikililer ve arm64e
- Bağlı kütüphaneler, çerçeveler ve arama yolları
- Şifreleme bilgisi komutu ve imza bloğu
- Simge tablosu, stripping ve dSYM dosyaları
- Kısa görev: bir ikilinin mimarisini, bağlı çerçevelerini ve koruma bayraklarını çıkar
Objective-C ve Swift üst verisi
- Objective-C çalışma zamanı verisi: sınıflar, seçiciler
- Sınıf dökümünü okumak: arayüzden işlev tahmin etmek
- Swift adlarını çözmek ve tür üst verisi
- İlgili yöntemleri bulmak: kimlik doğrulama, kripto, ortam denetimi
- Dizgi bölümleri: C dizgileri, CFString ve Swift dizgileri
- Kısa görev: sınıf dökümünden oturum yönetimiyle ilgili sınıfları ve yöntemleri eşle
Sözde kodu okumak
- iOS için ARM64: objc_msgSend ve Swift çağrı kuralı
- Ghidra ile Mach-O çözmek
- İkilide kripto kullanımı ve gömülü anahtarlar
- Ortam ve bütünlük denetimlerini değerlendirmek
- Kısa görev: ikiliye gömülü şifreleme anahtarını bul ve önerilen düzeltmeyi yaz
Bitirme
- Bitirme görevi: bir bilet uygulamasının ikili inceleme notunu ve geliştirici önerilerini yaz
Pratik lablar
- Bir ikilinin mimarisini ve bağlı çerçevelerini çıkar: llvm-otool ile başlığı ve yükleme komutlarını oku.
- Şifreleme bilgisi ve koruma bayraklarını denetle: Şifreleme komutunu, PIE ve yığın koruması işaretlerini doğrula.
- Simgelerin ayıklanıp ayıklanmadığını ölç: İki derlemenin simge tablolarını karşılaştır ve yayında kalan hata ayıklama simgelerini raporla.
- Sınıf dökümünden sınıf adlarını listele: Döküm aracını çalıştır ve sınıf sayısını yaz.
- Oturum yönetimiyle ilgili sınıfları eşle: Arayüzlerden oturum, belirteç ve saklama ile ilgili sınıf ve yöntemleri çıkar.
- Swift adlarını çöz ve kimlik doğrulama yöntemlerini bul: Karışık adları çözüp kimlik doğrulama ve ortam denetimi yöntemlerinin listesini hazırla.
- İkilideki adresleri ve dizgileri çıkar: Dizgi bölümlerinden adresleri listele.
- İkiliye gömülü şifreleme anahtarını bul: Anahtar benzeri sabiti bul ve hangi yöntemin kullandığını göster.
- Dizgi bulgularını sözde kodla doğrula: Bulunan üç sabitin gerçekten sır olup olmadığını Ghidra çıktısında kullanımına bakarak karara bağla.
- Ghidra'da bir yöntemi bul ve sözde kodunu oku: Verilen yöntemin dönüş değerini açıkla.
- Kripto çağrısının parametrelerini çıkar: Şifreleme işlevine giden kip, anahtar ve IV değerlerini sözde koddan belirle.
- Ortam ve bütünlük denetimlerini değerlendir: Denetimlerin nerede çağrıldığını, neye baktığını ve tek noktaya bağlı olup olmadığını geliştirici notu olarak yaz.
- İkili bulgusunu geliştiricinin anlayacağı dille yaz: Gömülü anahtar bulgusunu kaynak düzeyinde düzeltme önerisiyle yaz.
- İkili ve paket bulgularını birleştir: IPA incelemesi ile ikili incelemesinden çıkanları tek tabloda tekrarsız birleştir.
- Bilet uygulamasının ikili inceleme notunu yaz: Yapı, üst veri, sırlar ve denetim bulgularını geliştirici önerileriyle birlikte teslim et.
Kurs hakkında
Bir iOS uygulamasının ikilisini statik olarak okursun: Mach-O yapısını, yükleme komutlarını, Objective-C ve Swift üst verisini çözer, güvenlik denetimlerini ve gömülü sırları sözde koddan bulursun.
Ne öğreneceksin
- Mach-O
- Objective-C ve Swift üst verisi
- Sözde kodu okumak
- Bitirme
Ön koşullar
Aynı yolun 301 düzeyine kadar olan konularını uygulamış olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 401 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.