AndroidManifest.xml resources.arsc • armeabi • armeabi-v7a • x86 • mips • res/drawable-hdpi • res/layout • res/values resources/ META-INF/ dizini altında dosya imzaları ve geliştirici Public Key’i bulunur. MANIFEST.MF • APK dosyası içerisindeki her bir elemana ait SHA1 hash değerini içeren dosyadır. CERT.RSA • Uygulama sertifikasıdır. CERT.SF • Kaynakların listesini bulundurur.
CERT.RSA • CERT.SF • armeabi • armeabi-v7a • x86 • mips • res/drawable-hdpi • res/layout • res/values assets/ dizini altında android tarafından tanınmayan verilerin tutulduğu dosyalar yer alır. (Örneğin; sqLite, raw, ses dosyaları veya resim) Ayrıca bazı malware’ler bu dizinde cihaza kurmak üzere APK dosyaları saklarlar.
CERT.RSA • CERT.SF • armeabi • armeabi-v7a • x86 • mips • res/drawable-hdpi • res/layout • res/values Lib/ dizini, uygulamanın işlemci mimarisine göre derlenmiş halini içerisinde bulundurur. Birden fazla alt klasörü vardır bu alt klasörler: • armeabi: ARM tabanlı tüm işlemciler için • armeabi-v7a: ARMv7 ve üstü tabanlı tüm işlemciler için • x86: x86 tabanlı işlemciler için • mips: MIPS tabanlı işlemciler için derlenmiştir.
CERT.RSA • CERT.SF • armeabi • armeabi-v7a • x86 • mips • res/drawable-hdpi • res/layout • res/values Proje için gerekli tüm kaynaklar burada yer almaktadır. drawable-ddpi: Uygulama içerisinde kullanılacak resimler vardır. layout: Oluşturulacak ekran tasarımları için hazır- lanan xml dosyaları yer alır. values: Uygulama içerisinde kullanılacak sabit değişkenler bu klasör içerisinde xml formatı ile tutulabilir.
CERT.RSA • CERT.SF • armeabi • armeabi-v7a • x86 • mips • res/drawable-hdpi • res/layout • res/values AndroidManifest.xml : Bu dosya uygulamanın temel karakteristiklerini ve her bir bileşenini tanımlar. • Uygulamanın cihazdan talep ettiği izinler ve uygulamada bulunan komponentler derlenmiş olarak bu dosya içerisinde yer alır.
dosyaları derlenerek .class dosyaları oluşturulur. • Android için çalışılabilir hale getirmek için tekrar derlenerek tek bir .dex dosyası oluşturulur. • Daha sonraki adımda ise .dex dosyasına farklı dosyalarda eklenerek Android içinde çalıştırılabilir .apk dosyası elde edilir. APK Dosyası Nasıl Oluşturulur?
için Google Bouncer adlı bir otomatikleştirilmiş virüsten koruma sistemi kullanır. Bouncer, uygulamanın amacına uygun bir biçimde çalışıp çalışmadığını da denetler.
için tersine mühendislik yolları kullanılır. • Adb pull ile APK elde edilir. • Apktool tersine mühendislik aracı kullanılır. • Dex2jar, jd-gui gibi decompile araçları yardımıyla dosyalara ulaşılabilir. • AndroidManifest.xml dosyası ve kaynak kodları incelenir. APK Dosyalarında Tersine Mühendislik