Hata ayıklanamaz bir uygulamayı hata ayıklamak
- Kısa süre önce hata ayıklanması mümkün olmayan bir uygulamayla karşılaştım. Bu uygulama debugger bağlantısını engelliyor, kod enjeksiyonu sırasında erken sonlanıyor ve jailbreak yapılmış bir cihazda çalıştırıldığında tüm telefonu çökertiyordu.
- iOS uygulamaları sık sık jailbreak tespiti veya kod karmaşıklaştırma gibi ek korumalar içerir. Bu uygulama ise özellikle çok sayıda korumayı bir arada kullanıyor.
Video sürümü
- Bu yazının bir video sürümü de var ve süreci daha ayrıntılı gösteriyor.
İçindekiler
PT_DENY_ATTACH
PT_DENY_ATTACH aşma (kolay mod)
PT_DENY_ATTACH aşma (zor mod)
- Telefon çökmesi
- Kod enjeksiyonu
- Kapanış
PT_DENY_ATTACH
- İlk adım debugger bağlamaktır. Jailbreak yapılmış telefonlarda debugger bağlamak genellikle kolaydır.
ptrace adlı fonksiyon debugger bağlantısını engeller. Bu fonksiyon PT_DENY_ATTACH isteği aracılığıyla debugger'ın gelecekteki bağlantılarını engeller.
PT_DENY_ATTACH aşma (kolay mod)
PT_DENY_ATTACH, yalnızca çağrıldıktan sonra debugger'ı engeller. Çağrıdan önce breakpoint ayarlanırsa debugger normal şekilde bağlanır.
- Çağrıyı aşmak için doğrudan
ptrace fonksiyonunun kendisine breakpoint koyulabilir.
PT_DENY_ATTACH aşma (zor mod)
- Bazı geliştiriciler debugger engellemesini
ptrace yerine doğrudan sistem çağrıları kullanarak uygular.
- Bu durumda, ilgili sistem çağrısını binary içinde bulup aşmak gerekir.
Telefon çökmesi
- Uygulama belirli koşullarda telefonu soft reboot'a zorluyor. Bu, bellek yoğun bir metodu sonsuz döngü içinde çağırarak gerçekleşiyor.
lldb kullanılarak bu metod aşılabilir.
Kod enjeksiyonu
- Kod enjeksiyonu sırasında uygulama çöküyor. Bunun, uygulama grubu tanımlayıcısının yanlış olmasından kaynaklanan bir sorun olması muhtemel.
- Jailbreak yapılmış telefonlarda uygulamayı yeniden imzalamadan da kod enjeksiyonu yapılabilir. Aksi halde, problemi çözmek için metod swizzling uygulanabilir.
1 yorum
Hacker News görüşleri
Bryce Bostwick, hata ayıklama ve tersine mühendislik uygulamaları konusunda çok havalı ve ilham verici işler yapıyor
DOS/Windows'ta anti-debugging hileleri çok uzun zamandır yaygındı
Apple'ın App Store incelemesinin doğrudan sistem çağrısı yapan uygulamaları reddetmemesi şaşırtıcı
Yazarın neden
mov w16, #26yerinesvc 0x80aradığını merak ediyorumYazar, soruları yanıtlamaya hazır
Yukarıdaki video gerçekten harika bir programlama videosu
Bu uygulamanın meşru bir uygulama mı olduğu, yoksa kötü amaçlı yazılımdan şüphelenildiği için mi hata ayıklandığı merak ediliyor
PT_DENY_ATTACH atlatma (Zor Mod)
"com.apple.tw.twrr" bildirimi merak uyandırıyor
Web sitesinin JavaScript kodunu tersine mühendislik eden insanlar hakkında bilgisi olan var mı diye merak ediliyor
Jailbreak yapılmış bir iPhone'da özel kexts çalıştırmanın mümkün olup olmadığı merak ediliyor