AndroidTemelMesajlaşma

SMS/MMS veri tabanı (mmssms.db)

Android Telephony sağlayıcısının SMS ve MMS deposu: adresler, metinler, kutu/tür kodları, okundu bayrakları, konuşmalar ve MMS ekleri.

01Konum

  • /data/data/com.android.providers.telephony/databases/mmssms.db
  • /data/user/<userId>/com.android.providers.telephony/databases/mmssms.db
  • /data/data/com.android.providers.telephony/app_parts/ (MMS part files; some layouts use …/parts/)

02Yanıtladığı sorular

  • Cihazla hangi numara veya adresler, ne zaman SMS/MMS alışverişi yaptı?
  • Bir mesaj alınmış, gönderilmiş, taslak olarak kalmış, kuyruğa alınmış veya başarısız mı olmuş?
  • Mesaj cihazda okunmuş veya görülmüş mü?
  • Bir MMS'e hangi ekler aitti ve parça dosyaları hâlâ mevcut mu?

03Biçim ve sürümler

BiçimAOSP TelephonyProvider tarafından oluşturulan SQLite veri tabanı (MmsSmsDatabaseHelper, DATABASE_NAME "mmssms.db"). SMS satırları sms tablosunda; MMS başlıkları pdu, adresler addr, gövde parçaları part tablosundadır ve part._data diskteki bir dosyayı gösterir. Konuşmalar threads ve canonical_addresses tablolarında izlenir.
Geçerli olduğu sürümlerAOSP Telephony sağlayıcısı; genel sütun sabitleri API düzeyi 19'dan itibaren belgelenmiştir. Üretici sürümleri farklılık ekler: ALEAPP, Samsung spam_sms tablosunu ve etiketleri üretici tarafından belgelenmemiş LG'ye özgü sms.type değerlerini işler.

04Temel alanlar

AlanNe anlatır
sms.addressKarşı tarafın adresi (TEXT).
sms.typeMesaj kutusu: 1 gelen, 2 gönderilen, 3 taslak, 4 giden kutusu, 5 başarısız, 6 kuyrukta (0 = tümü).
sms.read / sms.seenread: mesaj okunmuş mu; seen: kullanıcının mesajı görüp görmediği, bildirim gösterimini belirler.
sms.thread_idMesajın ait olduğu konuşma (thread); MMS satırlarıyla ortaktır.
sms.statusGönderilen mesajlar için TP-Status: -1 yok, 0 tamamlandı, 32 beklemede, 64 başarısız.
pdu.msg_boxMMS kutusu: 1 gelen, 2 gönderilen, 3 taslaklar, 4 giden kutusu, 5 başarısız (0 = tümü).
addr.typeALEAPP'in kullandığı MMS adres rolü: 0x89 From, 0x97 To, 0x82 Cc, 0x81 Bcc; addr.msg_id = pdu._id ile birleştirilir.
part.ct / part._dataHer MMS parçasının içerik türü ve dosyasının kayıtlı yolu.

05Zaman damgaları

AlanKodlamaNot
sms.dateUnix epoch, millisecondsMesajın alındığı tarih olarak belgelenmiştir.
sms.date_sentUnix epoch, millisecondsMesajın gönderildiği tarih olarak belgelenmiştir; sıralama yapmadan önce date ile karşılaştırın.
pdu.date / pdu.date_sentUnix epoch, secondsMMS tarihleri saniye cinsindendir; sağlayıcının kendi birleşik sorgusu SMS ile hizalamak için pdu.date değerini 1000 ile çarpar.

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

06İnceleme akışı

  1. mmssms.db dosyasını -wal/-journal yardımcı dosyaları ve app_parts (veya parts) klasörüyle birlikte koruyun.
  2. Şemayı kaydedin: tür etiketlerini uygulamadan önce üreticiye özgü tabloları (ör. spam_sms) ve sütunları kontrol edin.
  3. SMS milisaniyelerini ve MMS saniyelerini UTC'ye çevirin, ardından iki aktarım türünü thread_id üzerinden birleştirin.
  4. MMS gönderen ve alıcılarını addr üzerinden çözün; part._data kaydını dosyalarla yalnız dosya adına göre değil, kayıtlı tam yola göre eşleştirin.
  5. Adresleri kişiler ve arama kaydı veri tabanlarıyla ilişkilendirin.

07Yorum tuzakları

  • LG'ye özgü 7, 8 ve 19 tür değerlerinin üretici belgesi yoktur; bilinmeyen kodları saklandığı gibi raporlayın.
  • WAL modunda son değişiklikler checkpoint işlemine kadar yalnız -wal dosyasında bulunabilir; yalnız ana dosyayı okumak kayıtları eksik veya hatalı gösterebilir.
  • secure_delete açık değilse veya VACUUM çalışmadıysa SQLite silinen içeriği dosyada bırakabilir; kurtarılan parçalar şemaya göre doğrulanmalıdır.
  • Birden çok parçalı bir MMS, part ile birleştirildiğinde birden çok satır üretir; mesajları pdu._id üzerinden sayın.

09Kaynaklar

  1. Telephony.TextBasedSmsColumns — API reference Android Developers · erişim 2026-10-14
  2. Telephony.BaseMmsColumns — API reference Android Developers · erişim 2026-10-14
  3. AOSP — MmsSmsDatabaseHelper.java Android Open Source Project (GitHub mirror) · erişim 2026-10-14
  4. AOSP — MmsSmsProvider.java Android Open Source Project (GitHub mirror) · erişim 2026-10-14
  5. ALEAPP — scripts/artifacts/smsmms.py Alexis Brignoni et al. (GitHub) · erişim 2026-10-14
  6. SQLite — Write-Ahead Logging SQLite · erişim 2026-10-14
  7. SQLite — PRAGMA statements (secure_delete) SQLite · erişim 2026-10-14