APK Bilgi Görüntüleyici ile Statik Analiz
APK Bilgi Görüntüleyici, bir Android uygulama paketinin (APK) içeriğini ve meta verilerini cihazınıza yüklemeden önce incelemenizi sağlayan ücretsiz bir çevrimiçi araçtır. Tamamen web tarayıcınızın içinde çalışan bu araç, paketin teknik detaylarını ayıklar ve görüntüler. Bu işlem, uygulamanın çalıştırılmasına gerek kalmadan gerçekleştirilen bir statik analiz yöntemidir. Böylece, şüpheli kaynaklardan edinilen dosyaların doğruluğunu resmi geliştirici sürümleriyle karşılaştırarak kontrol edebilirsiniz.
Araç, analiz sürecini yerel tarayıcı teknolojileriyle yürütür. Dosya okuma, özet hesaplama ve paket ayrıştırma işlemlerinin tamamı tarayıcınızdaki yerel bir Worker (Web İşçisi) üzerinde gerçekleşir. Bu mimari sayesinde, incelediğiniz APK dosyaları veya bunlara ait veriler hiçbir şekilde harici bir sunucuya yüklenmez. Dosya yalnızca okunur; cihazınıza kurulması veya çalıştırılması söz konusu değildir.
Giriş Sınırları ve Kabul Edilen Formatlar
APK Bilgi Görüntüleyici, analiz işlemlerinin kararlılığını korumak amacıyla belirli girdi kurallarına göre çalışır:
- Dosya Biçimi: Yalnızca
.apkuzantılı tekil dosyalar kabul edilir. - Boyut Sınırı: En fazla 500 MB boyutundaki dosyalar desteklenir. Bu sınırın aşılması durumunda araç,
"Bu dosya 500 MB'tan büyük — bir tarayıcı sekmesinin güvenle inceleyebileceğinden daha büyük."hata mesajını verir. - Miktar Sınırı: Araç her seferinde yalnızca tek bir dosya işleyebilir. Sürükle-bırak alanına birden fazla dosya bırakılırsa, sistem yalnızca ilk dosyayı işleme alır ve kullanıcıya
"Tek seferde tek dosya — ilki inceleniyor."bilgi notunu gösterir.
Desteklenmeyen Formatlar ve Hata Senaryoları
Uygulama dağıtımında kullanılan ancak doğrudan kurulabilir tekil APK olmayan formatlar araç tarafından reddedilir:
- Bölünmüş Paketler (XAPK, APKM): Bu dosyalar yüklendiğinde,
"Bu bir XAPK bölünmüş paketidir — birkaç APK'nın kapsayıcısıdır. Temel APK'yı çıkarın ve bunun yerine o dosyayı inceleyin."uyarısı gösterilir. - Android App Bundle (.aab): Geliştiricilerin mağazalara yükleme yapmak için kullandığı bu yayınlama formatı yüklendiğinde,
"Bu bir Android App Bundle (.aab) dosyasıdır — kurulabilir bir APK değil, bir yayınlama formatıdır. Bunun yerine derlenen APK'yı inceleyin."mesajı verilir. - Geçersiz Dosyalar: APK yapısında olmayan veya hasarlı dosyalar için sistem belirli hata mesajları üretir. İçinde geçerli bir manifest barındırmayan dosyalar için
"Bu bir APK gibi görünmüyor: içinde okunabilir AndroidManifest.xml bulunamadı."ifadesi gösterilir. Dosyanın eksik veya bozuk olması durumunda"Paket hasarlı veya kesilmiş görünüyor, bu nedenle içeriği okunamadı."uyarısı verilir. Genel okuma hatalarında"Dosya okunamadı. Tekrar seçin.", diğer tüm analiz başarısızlıklarında ise"İnceleme başarısız oldu. Başka bir dosya deneyin."mesajı ekrana gelir.
Arayüz Durumları ve Raporlama Adımları
Analiz süreci boyunca kullanıcı arayüzünde anlık durum güncellemeleri ve işlem adımları gösterilir. Sürecin takibi için şu göstergeler kullanılır:
- Başlangıç:
Bir APK buraya bırakın veya seçmek için tıklayınve altında500 MB'a kadar tek bir.apk dosyasıetiketinin yer aldığı dosya bırakma alanı etkindir. SistemHazır. İncelemek için bir APK bırakın.durumundadır. - Okuma: Dosya seçildiğinde
‹name› okunuyor…bilgisi belirir. - Özet Hesaplama: Dosyanın kriptografik özetleri çıkarılırken
Dosya özetleri hesaplanıyor — %‹percent›ilerleme durumu gösterilir. - Ayrıştırma: Paket içeriği çözümlenirken
Paket ayrıştırılıyor…ifadesi yer alır. - Tamamlanma: Analiz bittiğinde
Rapor hazır.mesajı verilir. Kullanıcı dilerseRaporu indirbutonu ile raporu indirebilir (bu durumdaRapor indirildi.bilgisi döner) veyaTemizlebutonu ile arayüzü temizleyebilir (bu durumdaTemizlendi.yazısı gösterilir).
APK Analiz Raporunun Bileşenleri
Analiz tamamlandığında, APK dosyasının iç yapısını gösteren detaylı bir rapor oluşturulur. Bu rapor şu ana bölümlerden oluşur:
Gereksinimler (Gereksinimler)
Uygulamanın çalışabileceği Android işletim sistemi sınırları bu bölümde listelenir:
- Minimum Android: Uygulamanın çalışması için gereken en düşük sürüm
Android ‹version› (API ‹level›)veya doğrudanAPI ‹level›şeklinde gösterilir. - Hedef Android: Uygulamanın optimize edildiği sürüm
Android ‹version› (API ‹level›)veyaAPI ‹level›olarak belirtilir. - Maksimum SDK: Eğer pakette tanımlanmışsa
maks SDK ‹n›etiketiyle sınır gösterilir.
İzinler (İzinler)
Uygulamanın sistemden talep ettiği tüm izinler bu bölümde listelenir. Android işletim sisteminin kullanıcı gizliliğini korumak adına "Tehlikeli" (Dangerous) olarak sınıflandırdığı izinlerin yanında özel bir Tehlikeli rozeti yer alır. Analiz motoru, incelemeyi kolaylaştırmak için bu Tehlikeli rozetine sahip izinleri listenin en üstüne sıralar.
Bileşenler (Bileşenler)
Uygulamanın arka plan ve ekran bileşenleri dört ana kategoride gruplandırılır:
- Aktiviteler (
Aktiviteler): Kullanıcı arayüzü ekranları. - Servisler (
Servisler): Arka plan işlemleri. - Alıcılar (
Alıcılar): Sistem olaylarını dinleyen yapılar. - Sağlayıcılar (
Sağlayıcılar): Veri paylaşım mekanizmaları (varsa sağlayıcı yetkilendirme kimliği ile birlikte, yoksaHiçbiriolarak gösterilir).
Dış dünyaya açık olan bileşenlerin yanında dışa aktarıldı etiketi yer alır. Arayüzün okunabilirliğini korumak adına, her bir bileşen kategorisinde en fazla 100 adet öge listelenir. Bu sınır aşıldığında listenin sonuna eklenen +‹count› diğer etiketiyle kalan bileşen sayısı belirtilir.
Yerel Kod (Yerel kod)
Uygulamanın desteklediği işlemci mimarileri (ABI'lar) ve pakette yer alan yerel kütüphane (native library) sayıları bu bölümde raporlanır.
Kaynaklar (Kaynaklar)
Paket içerisindeki kaynakların dağılımı şu başlıklar altında sayılarla verilir:
Ekran yoğunluklarıKaynak dosyalarıVarlık dosyalarıKod dosyaları (.dex)Paketteki dosyalar
İmzalar (İmzalar)
Android güvenlik modelinin temelini oluşturan imza doğrulaması için v1 (PKCS#7) ve v2, v3, v3.1 imza bloklarındaki X.509 sertifika meta verileri çözümlenir. Her bir imzalayan için şu bilgiler sunulur:
İmzalayan ‹n›KonuVerenSeri numarasıGeçerlilik başlangıcıveGeçerlilik bitişiİmza algoritmasıveAnahtar algoritması- MD5, SHA-1 ve SHA-256 sertifika parmak izleri.
Eğer pakette geçerli bir imza yapısı bulunamazsa, Tanınan imza bloğu bulunamadı; paket imzasız veya yeniden paketlenmiş olabilir. uyarısı gösterilir. Araç, sertifika meta verilerini ayıklamakla birlikte, imzaların kriptografik bütünlük kontrolünü yapmaz, sertifika güven zincirini doğrulamaz veya yayıncının gerçek kimliğini teyit etmez.
Dosya Özetleri (Dosya özetleri)
Bütünlük kontrolü ve arşivleme amacıyla, yüklenen APK dosyasının kendisine ait MD5, SHA-1 ve SHA-256 kriptografik özet değerleri hesaplanarak bu bölümde sunulur.
Sıkça Sorulan Sorular
Yüklemeden bir APK hakkında ne öğrenebilirim?
Oldukça fazla şey: uygulamanın paket adı ve sürümü, ihtiyaç duyduğu Android sürümleri, talep ettiği her izin, bildirdiği ekranlar ve arka plan bileşenleri, yerel kod barındırdığı işlemci türleri ve imzalandığı sertifikalar.
Bu araç bir APK'nın kötü amaçlı yazılım olup olmadığını söyleyebilir mi?
Hayır — ve hızlı bir taramadan kesin bir hüküm vaat eden araçlara şüpheyle yaklaşın. Burada elde ettiğiniz şeyler gerçektir: izinler, bileşenler, imzalayanlar ve özetler. Bunları geliştiricinin yayınladıklarıyla karşılaştırın ve beklenmeyen izinleri veya resmi sürümden farklı bir imzalayanı vazgeçmek için birer neden olarak değerlendiren.
Hangi dosyalar destekleniyor?
500 MB boyutuna kadar tekli APK dosyaları. Bölünmüş paketler (XAPK, APKM) ve Android App Bundle (.aab) formatları kurulabilir tek bir paket olmaktan ziyade kapsayıcı veya yayınlama biçimleridir, bu nedenle kafa karıştırıcı bir rapor yerine net bir mesajla reddedilirler.
İmza ayrıntıları bana ne anlatıyor?
Her Android uygulaması imzalanır ve sertifika bunu kimin yayınladığını belirler. Paketin hangi imza şemalarını taşıdığını (v1, v2, v3) ve her imzalayanın konusunu, geçerlilik penceresini ve MD5, SHA-1 ile SHA-256 parmak izlerini görürsünüz. Eşleşen parmak izlerine sahip iki APK aynı yayıncıdan gelmiştir — o yayıncıya güvenip güvenmemek size kalmıştır.
Bir izindeki "Tehlikeli" rozeti ne anlama geliyor?
Bu Android'in kendi sınıflandırmasıdır: tehlikeli izinler özel verilere (konum, kişiler, kamera, mikrofon, depolama) ulaşabilir, bu nedenle sistem bunları vermeden önce kullanıcıya sorar. Rozet bir suçlama değildir; konum isteyen bir harita uygulaması normaldir. Sadece iki kez okunmaya değer izinleri işaretler.