· kaynak dev.to (home feed)
Droid ASC APK'ları doğrudan inceliyor: jadx'e kıyasla 269 kat daha hızlı arama ve 125 kat daha az bellek iddiası
Açık kaynaklı Android tersine mühendislik aracı Droid ASC, sıkıştırılmış artefaktları talep üzerine sorgulayarak jadx'e kıyasla 269 kata kadar daha hızlı arama ve 125 kata kadar daha az bellek kullanımı sunuyor.

APK analizine sıfır indeks yaklaşımı
Birkaç yüz megabaytlık bir APK'yı jadx ile açmış herkes bu manzarayı bilir: bellek kullanımı gigabaytlara tırmanır, ilerleme çubuğu onlarca dakika boyunca sürünür ve işlem bazen out-of-memory hatasıyla sonlanır. dev.to'da yayımlanan bir yazıya göre, Black Hat Europe 2026 Arsenal'da tanıtılan Droid ASC adlı açık kaynaklı araç tam da bu bekleyişi ortadan kaldırmak için geliştirilmiş.
Aracın temel öncülü şu: bir decompiler'ın, herhangi bir arama yapılmadan önce APK'yı açıp global bir indeks oluşturmasına gerek yok. Droid ASC, APK'yı talep üzerine sorgulanan bir veritabanı gibi ele alıyor: string'ler, türler, metotlar ve alanlar doğrudan sıkıştırılmış artefaktın içinde bulunuyor ve yalnızca ilgili kod decompile ediliyor.
İddia edilen rakamlar
dev.to yazısında, projenin kendi benchmark'ları yer alıyor; testler dört ticari APK üzerinde, on thread ve kontrol aracı olarak jadx ile gerçekleştirilmiş. 59 MB'lık bir TelegramX derlemesinde global string araması jadx'in 20 saniyesine karşılık 493 ms sürmüş, bellek kullanımı ise 1.016 MB'a karşılık 36 MB olmuş. 352 MB'lık Douyin paketinde jadx'in global araması yaklaşık sekiz dakika sonra, ilerlemenin yüzde 49'unda out-of-memory hatasıyla başarısız olurken, Droid ASC sonuçları 1,79 saniyede ve 141 MB bellek kullanımıyla döndürmüş.
Test seti genelinde yazı, jadx'e kıyasla 269 kata kadar daha hızlı arama, 222 kata kadar daha hızlı tek sınıf decompilation ve 125 kata kadar daha düşük bellek kullanımı iddia ediyor. Droid ASC ayrıca diske cache yazmıyor; oysa jadx'in 119 MB ile 322 MB arasında indeks verisi yazdığı ölçülmüş. Bu rakamlar bağımsız bir incelemeden değil, aracın yazarından geliyor; jadx diğer iş yüklerinde farklı sonuçlar verebilir.
Sıfır indeks tasarımı nasıl çalışıyor
Yazı, performansın arkasındaki dört tekniği şöyle açıklıyor:
Deflate akışını doğrudan inceleme: yoğun bir Huffman arama tablosu, aracın APK'yı tamamen açmadan yalnızca ihtiyaç duyduğu metadata bloklarını okumasını sağlıyor.
R8 derleyici davranışından yararlanma: R8'ın belirleyici sabit yayılımı (constant propagation) ve talimat tekilleştirmesi, kodu DEX dosyalarında fiziksel olarak topluyor; Droid ASC bunu hızlı arama için kullanıyor.
Harita tablosu oluşturmadan gerçekleştirilen sabit zamanlı talimat-metot eşlemesi.
Minimal DEX yeniden yapılandırma: bir eşleşme bulunduğunda yalnızca hedef sınıf ve bağımlı bytecode'u bellekte küçük, kendi içinde tutarlı bir DEX olarak birleştirilip anında decompile ediliyor.
Tüm süreç durum bilgisiz (stateless); ön işlem yok, disk cache'leme yok ve araç çıktıktan sonra makinede hiçbir iz bırakmıyor.
Kurulum ve günlük kullanım
Proje saf Python ile yazılmış ve GitHub'da MG1937/ASC altında yer alıyor. Decompilation arka ucu olarak androguard'a, Dalvik string kodlaması için mutf8'e ve arayüz için Tkinter'a bağımlı; bunların ötesinde ağır bir bağımlılığı yok.
GUI modu; paket gezinme, string, tür, metot ve alanlarda global arama, decompile edilmiş kaynak görüntüleme, tanımlayıcı yeniden adlandırma ve bir Manifest görüntüleyici sunuyor; yazı bunu ikinci nesil bir jadx-gui'ye benzetiyor. Komut satırında getclass tek bir sınıfı kaynak koda çıkarıyor; com.poc.Main gibi noktalı adları da Dalvik tanımlayıcılarını da kabul ediyor. findrefs ise bulanık eşleşme, isteğe bağlı sınıf filtreleri, dosya çıktısı ve aşama bazlı süre ölçümüyle global referans aramaları yapıyor. Her iki komut da eşzamanlılık için thread sayısını parametre olarak alıyor.
Neden önemli
Yazıya göre kırmızı takımlar, bug bounty avcıları ve güvenlik müdahale merkezleri için gerçek bütçe zamandır: büyük APK'ların daha hızlı triajı doğrudan daha geniş kapsama dönüşüyor ve eskiden dakikalar süren hardcoded secret veya API yüzeyi keşifleri artık saniyeler içinde görünüyor. Çok küçük bellek ayak izi, çok büyük hedefleri mütevazı donanımlarda bile pratik kılıyor ve diske cache yazılmaması, arkada artefakt bırakmanın istenmediği acil müdahale durumlarına uygun. İki uyarıyı da akılda tutmak gerek: benchmark'lar yazar tarafından yürütülmüş ve yalnızca jadx ile karşılaştırma yapılmış; ayrıca araç tam bir proje ağacı üretmek yerine talep üzerine decompile ediyor, dolayısıyla jadx'in eksiksiz çıktısına dayalı iş akışları her iki araca da erişmek isteyebilir. Yazar, Droid ASC'yi yalnızca yetkili testler için kullanmayı öneriyor.
- #android
- #reverse-engineering
- #security-tools
- #open-source
- #penetration-testing
İlgili yazılar
- Açık kaynak iPhone uygulaması Malibu, Snapchat Spectacles 2 ile eşleşiyor ve videoları yerel olarak içe aktarıyor
- 8087'yi tersine mühendislikle çözümlemek: FSCALE'ın ardındaki 140'tan fazla micro-instruction
- Android NAT-T keepalive API'si sıradan uygulamaların VPN lockdown dışına paket göndermesine izin veriyor