AndroidTemelAramalar

Arama kaydı (calllog.db)

Kişiler sağlayıcısındaki Android arama geçmişi: numara, ms cinsinden başlangıç, süre, 1–7 arama türü, telefon hesabı ve özellik bayrakları.

01Konum

  • /data/data/com.android.providers.contacts/databases/calllog.db
  • /data/user_de/<userId>/com.android.providers.contacts/databases/calllog_shadow.db (shadow instance in device-encrypted storage)
  • /data/data/com.samsung.android.providers.contacts/databases/calllog.db (Samsung)
  • Legacy: calls table inside …/com.android.providers.contacts/databases/contacts2.db

02Yanıtladığı sorular

  • Hangi numaralar arandı veya cihazı aradı, ne zaman?
  • Arama cevaplandı mı, cevapsız mı kaldı, reddedildi mi, engellendi mi veya sesli mesaja mı gitti; ne kadar sürdü?
  • Aramayı hangi SIM veya arama hesabı işledi?
  • Arama görüntülü, Wi-Fi, VoLTE veya RTT olarak işaretlenmiş mi?

03Biçim ve sürümler

BiçimCallLogDatabaseHelper tarafından oluşturulan SQLite veri tabanı (DATABASE_NAME "calllog.db"); calls tablosunda her arama için bir satır bulunur ve sütunlar CallLog.Calls ile tanımlanır. İkinci bir "gölge" örnek (calllog_shadow.db) cihaz korumalı depolama bağlamında açılır.
Geçerli olduğu sürümlerAOSP ContactsProvider. calls ve voicemail_status tabloları eskiden contacts2.db içindeydi; güncel kod yeni veri tabanı oluşturulurken bunları calllog.db'ye taşır. 5–6 arama türleri API 24'te, 7 ise API 25'te eklendi.

04Temel alanlar

AlanNe anlatır
numberKullanıcının girdiği şekliyle telefon numarası.
type1 gelen, 2 giden, 3 cevapsız, 4 sesli mesaj, 5 reddedilen, 6 engellenen, 7 başka cihazda cevaplanan.
durationAramanın saniye cinsinden süresi.
phone_account_component_name / phone_account_idAramayı yapmak veya almak için kullanılan hesabın bileşeni ve tanımlayıcısı.
geocoded_location / countryisoNumara için coğrafi kodlanmış konum ve aramanın yapıldığı veya alındığı ülkenin ISO kodu.
new / is_readAramanın onaylanıp onaylanmadığı ve kaydın okunup okunmadığı veya başka şekilde tüketilip tüketilmediği.
featuresBit maskesi; ör. görüntülü, Wi-Fi, VoLTE, VoNR, RTT, HD, harici olarak devralınmış.
last_modifiedSatırın en son eklendiği, güncellendiği veya silindi olarak işaretlendiği zaman.

05Zaman damgaları

AlanKodlamaNot
dateUnix epoch, millisecondsAramanın gerçekleştiği tarih.
last_modifiedUnix epoch, millisecondsSatır bakım zamanıdır, arama zamanı değildir; satır güncellendiğinde veya silindi olarak işaretlendiğinde değişebilir.

Ham değerleri Zaman damgası çözücü, yerel saatleri ise Yerel saatten UTC'ye ile çözün.

06İnceleme akışı

  1. calllog.db dosyasını -wal/-journal dosyalarıyla, varsa calllog_shadow.db ile ve eski imajlarda contacts2.db ile birlikte toplayın.
  2. type, features ve presentation değerlerini CallLog.Calls sabitlerine göre çözün; her etiketin yanında ham değeri saklayın.
  3. date değerini UTC'ye çevirin, bitiş zamanını date + duration olarak hesaplayın ve hesaplanmış değer olarak işaretleyin.
  4. Ana ve gölge veri tabanlarını ve farklı satırların last_modified değerlerini karşılaştırın.
  5. Numaraları kişiler, SMS ve uygulama düzeyindeki arama kayıtlarıyla ilişkilendirin.

07Yorum tuzakları

  • geocoded_location numarayı tanımlar, cihazın konumunu değil.
  • ALEAPP, AOSP tür kodlarını Samsung sağlayıcısına da uygular; Samsung'un başka değerler saklayıp saklamadığı belirlenmemiştir.
  • Değişiklikler -wal dosyasında bekliyor olabilir; secure_delete veya VACUUM tarafından kaldırılmadıkça silinen satırlar boş sayfalarda kalabilir.

09Kaynaklar

  1. CallLog.Calls — API reference Android Developers · erişim 2026-10-14
  2. AOSP — CallLogDatabaseHelper.java Android Open Source Project (GitHub mirror) · erişim 2026-10-14
  3. ALEAPP — scripts/artifacts/calllog.py Alexis Brignoni et al. (GitHub) · erişim 2026-10-14
  4. Support Direct Boot mode Android Developers · erişim 2026-10-14
  5. SQLite — Write-Ahead Logging SQLite · erişim 2026-10-14
  6. SQLite — PRAGMA statements (secure_delete) SQLite · erişim 2026-10-14