Android Edinimi ve Analizi
Android verilerini çıkarma ve analiz etme.
Android Edinimi ve Analizi, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.
Android Depolama Mimarisi
Android verilerini etkili biçimde çıkarmak için verilerin nerede bulunduğunu bilmeniz gerekir.
- /data/data/<package>/ — her uygulamanın yalıtılmış alanı: veritabanları, shared_prefs, dosyalar, önbellek.
- /data/media/0/ — kullanıcı depolaması (fotoğraflar, indirmeler).
- /data/system/ — hesaplar, kilit ayarları, kullanım istatistikleri.
Uygulama delillerinin çoğu, uygulamaya özel yalıtılmış alanın içindeki SQLite veritabanlarında ve XML tercih dosyalarında bulunur; bunlar kök yetkisi veya bir yedekleme mekanizması olmadan okunamaz.
ADB ve Hata Ayıklama Ön Koşulları
Android Hata Ayıklama Köprüsü (ADB), mantıksal edinim için başlıca kanaldır. USB hata ayıklamasının etkinleştirilmiş ve ana bilgisayar anahtarının yetkilendirilmiş olması gerekir.
- Hata ayıklama etkin değilse ve ekranın kilidi açılmamışsa ADB erişimi engellenir.
- Yetkilendirme isteminin kendisi cihazın durumunu değiştirir; bunu belgeleyin.
Önce bağlantıyı doğrulayın ve cihaz özelliklerini kaydedin:
adb devices -l
adb shell getprop ro.build.version.release # Android version
adb shell getprop ro.product.model # Device model
adb shell getprop ro.crypto.state # encrypted / unencryptedADB Yedeklemesiyle Mantıksal Edinim
adb backup, uygulama verilerinin yedeklenmesini sağlayan bir .ab arşivi üretir. Kök yetkisi gerektirmez ve yaygın olarak kullanılabilir; ancak sınırlıdır: birçok uygulama allowBackup=false olarak ayarlanmıştır.
- Uygulama verilerini, APK'ları (
-apkile) ve paylaşılan depolamayı alır. - Yedekleme dışında bırakılan uygulamaları ve silinmiş kayıtları kaçırır.
Analiz için bir yedek oluşturun ve dönüştürün:
# Create a full backup (user must confirm on device)
adb backup -apk -shared -all -f android_backup.ab
# Convert the .ab to a readable tar (android-backup-extractor)
java -jar abe.jar unpack android_backup.ab android_backup.tar
tar -xvf android_backup.tarDosya Sistemi Edinimi
Dosya sistemi edinimi, eşitlenmemiş kayıtları barındıran uygulama yalıtılmış alanları ile SQLite WAL/SHM günlük dosyaları da dâhil olmak üzere dizin ağacını kopyalar.
- Kök yetkisi, bir adli bilişim aracısı ya da bir istismar/önyükleyici yöntemi gerektirir.
- -wal ve -shm dosyalarını korur; bu kritik öneme sahiptir, çünkü yeni satırlar yalnızca bu dosyalarda bulunabilir.
SQLite veritabanlarını alırken günlük dosyası eşlikçilerini de her zaman alın:
adb pull /data/data/com.whatsapp/databases/msgstore.db ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-wal ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-shm ./out/Fiziksel Edinimin Gerçekleri
Fiziksel imaj, silinmiş verilerin kalabileceği ayrılmamış alan da dâhil olmak üzere NAND'ın bit bit kopyasıdır. Modern Android'de elde edilmesi en zor yöntemdir.
- FBE şifrelemesi, kullanıcı anahtarı olmadan ham NAND dökümünün şifreli metinden ibaret olması anlamına gelir.
- Yöntemler arasında üretici istismarları, EDL/önyükleyici kipleri veya çipten çıkarma bulunur; sonuncusu son çaredir ve yıkıcıdır.
- Uygulamada, AFU durumundaki dosya sistemi edinimi çoğu zaman şifrelenmiş fiziksel dökümden daha fazla kullanılabilir veri sağlar.
Fiziksel yöntemi yalnızca gerekçelendirilebildiğinde ve şifre çözmenin mümkün olduğu durumlarda seçin.
SQLite: Android Delillerinin Kalbi
Android buluntularının çoğu SQLite veritabanlarıdır. Analistler iletileri, arama günlüklerini ve zaman damgalarını kurtarmak için bunları doğrudan sorgular.
- Delil dosyasını değiştirmemek için salt okunur olarak açın.
- Zaman damgaları çoğu zaman Unix epoch milisaniyeleri biçimindedir.
Bir çıkarımdaki kişiler veritabanını inceleyin:
sqlite3 -readonly contacts2.db
sqlite> .tables
sqlite> SELECT display_name, data1
...> FROM view_v_contacts LIMIT 20;Silinmiş SQLite Kayıtlarını Kurtarma
SQLite'ta bir satırı silmek çoğu zaman yalnızca sayfa alanını boş olarak işaretler. Kurtarılabilir kalıntılar şuralarda bulunur:
- Serbest liste sayfalarında ve .db dosyasının ayrılmamış alanlarında.
- Satırların denetim noktası öncesi sürümlerini koruyan -wal önceden yazma günlüğünde.
Veri kurtarma araçları bu kayıtları yeniden oluşturur. Bir veritabanı üzerinde kurtarma işlemi çalıştırın:
# Carve deleted rows from freelist + WAL
python3 sqlite_carver.py --db msgstore.db --wal msgstore.db-wal \
--out recovered_messages.csv
# Cross-check live vs recovered counts in your notesZaman Çizelgesi ve Zaman Damgalarını Koddan Çözme
Bir zaman çizelgesi oluşturmak, uygulamalar arasındaki olayları ilişkilendirir. Zorluk, Android'in kullandığı çok sayıdaki zaman damgası biçimidir.
- Unix epoch (ms) — çoğu ileti veritabanında.
- Unix epoch (s) — birçok sistem günlüğünde.
- WebKit/Chrome zamanı — 1601'den bu yana mikrosaniyeler (tarayıcı geçmişi).
Her zaman UTC'ye normalleştirin ve cihazın saat dilimini not edin. SQLite'ta örnek dönüştürme:
-- Convert epoch milliseconds to readable UTC
SELECT datetime(timestamp/1000, 'unixepoch') AS sent_utc,
key_remote_jid, data
FROM messages
ORDER BY timestamp DESC LIMIT 25;Temel Sistem Artefaktları
Uygulama verilerinin ötesinde, Android sistem artefaktları kullanıcı davranışını ve cihaz kullanımını ortaya çıkarır.
- kullanım istatistikleri — hangi uygulamaların ne zaman çalıştığını gösterir.
- accounts.db / accounts_ce.db — bağlı Google ve uygulama hesaplarını içerir.
- ağ istatistikleri / ağ ilkesi — uygulama başına veri kullanımını gösterir.
- Wi-Fi yapılandırması (WifiConfigStore.xml) — bilinen ağları içerir ve konum belirleme bağlamı için yararlıdır.
Bunlar, cihazı kimin ve ne zaman kullandığına ilişkin iddiaları doğrular veya çürütür.
ALEAPP ile Otomatik Ayrıştırma
Elle ayrıştırma ölçeklenebilir değildir. ALEAPP (Android Günlükleri, Olayları ve Protobuf Ayrıştırıcısı), bir dosya sistemi çıkarımını alır ve yapılandırılmış bir HTML/CSV raporu üretir.
- kullanım istatistiklerini, son etkinlikleri, bildirimleri, uygulama izinlerini ve daha fazlasını ayrıştırır.
- Ön inceleme için kullanın, ardından önemli bulguları ham veritabanlarına karşı elle doğrulayın.
ALEAPP'i bir çıkarım dizinine karşı çalıştırın:
python3 aleapp.py -t fs -i ./android_filesystem/ -o ./aleapp_report/
# Open ./aleapp_report/index.html to review parsed artifactsDoğrulama ve Adli Bilişimi Engelleme Belirtileri
Tek bir araca asla güvenmeyin. Otomatik çıktıyı kaynak verilerine ve farklı araçların sonuçlarına karşı doğrulayın.
- Ayrıştırıcı sonuçlarını doğrulamak için önemli sorguları sqlite3 içinde elle yeniden çalıştırın.
- Adli bilişimi engelleme belirtilerine dikkat edin: temizlenmiş günlükler, değiştirilmiş zaman damgaları, güvenli silme uygulamaları veya kaybolan ileti ayarlarına sahip sohbet uygulamaları.
- İmaj özetinin analizden önce ve sonra hâlâ eşleştiğini doğrulayın.
Tekrarlanabilirlik ve çapraz doğrulama, bulguları savunulabilir kılan unsurlardır.
Hızlı Kontrol
Bir sohbet uygulamasının SQLite veritabanını alıyorsunuz. Yakın zamanda gönderilen iletileri kaçırmamak için hangi yardımcı dosyaları da toplamanız gerekir?
Özet: Android Edinimi ve Analizi
Artık Android kanıtlarını uçtan uca edinebilir ve analiz edebilirsiniz.
- Uygulama verileri, SQLite veritabanları ve XML tercihleri olarak uygulama başına korumalı alanlarda bulunur.
- ADB yedeği = kolay mantıksal alma; dosya sistemi çıkarımı (kök erişimi) WAL'ı korur; fiziksel edinim FBE altında en zordur.
- Silinmiş kayıtları serbest liste sayfalarından ve WAL'dan kurtarın.
- Zaman damgalarını UTC'ye dönüştürün; dönem ve WebKit biçimlerini çözümleyin.
- Ön inceleme için ALEAPP kullanın, ardından sqlite3 ile elle doğrulayın.
- Adli bilişimi engelleyen müdahalelere dikkat edin ve imaj özetini yeniden doğrulayın.
Sırada: iOS tarafı.
Sıkça Sorulan Sorular
“Android Edinimi ve Analizi” dersi ücretsiz mi?
Evet — “Android Edinimi ve Analizi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.
“Android Edinimi ve Analizi” dersinde ne öğreneceğim?
Android verilerini çıkarma ve analiz etme. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Android Edinimi ve Analizi” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Mobil Adli Bilişim Temelleri
- Android Edinimi ve Analizi
- iOS Edinimi ve Analizi
- Uygulamalar, İzler ve Raporlama