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çim | AOSP 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ümler | AOSP 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
| Alan | Ne anlatır |
|---|---|
| sms.address | Karşı tarafın adresi (TEXT). |
| sms.type | Mesaj kutusu: 1 gelen, 2 gönderilen, 3 taslak, 4 giden kutusu, 5 başarısız, 6 kuyrukta (0 = tümü). |
| sms.read / sms.seen | read: mesaj okunmuş mu; seen: kullanıcının mesajı görüp görmediği, bildirim gösterimini belirler. |
| sms.thread_id | Mesajın ait olduğu konuşma (thread); MMS satırlarıyla ortaktır. |
| sms.status | Gönderilen mesajlar için TP-Status: -1 yok, 0 tamamlandı, 32 beklemede, 64 başarısız. |
| pdu.msg_box | MMS kutusu: 1 gelen, 2 gönderilen, 3 taslaklar, 4 giden kutusu, 5 başarısız (0 = tümü). |
| addr.type | ALEAPP'in kullandığı MMS adres rolü: 0x89 From, 0x97 To, 0x82 Cc, 0x81 Bcc; addr.msg_id = pdu._id ile birleştirilir. |
| part.ct / part._data | Her MMS parçasının içerik türü ve dosyasının kayıtlı yolu. |
05Zaman damgaları
| Alan | Kodlama | Not |
|---|---|---|
| sms.date | Unix epoch, milliseconds | Mesajın alındığı tarih olarak belgelenmiştir. |
| sms.date_sent | Unix epoch, milliseconds | Mesajın gönderildiği tarih olarak belgelenmiştir; sıralama yapmadan önce date ile karşılaştırın. |
| pdu.date / pdu.date_sent | Unix epoch, seconds | MMS 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ışı
- mmssms.db dosyasını -wal/-journal yardımcı dosyaları ve app_parts (veya parts) klasörüyle birlikte koruyun.
- Şemayı kaydedin: tür etiketlerini uygulamadan önce üreticiye özgü tabloları (ör. spam_sms) ve sütunları kontrol edin.
- SMS milisaniyelerini ve MMS saniyelerini UTC'ye çevirin, ardından iki aktarım türünü thread_id üzerinden birleştirin.
- 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.
- 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
- Telephony.TextBasedSmsColumns — API reference Android Developers · erişim 2026-10-14
- Telephony.BaseMmsColumns — API reference Android Developers · erişim 2026-10-14
- AOSP — MmsSmsDatabaseHelper.java Android Open Source Project (GitHub mirror) · erişim 2026-10-14
- AOSP — MmsSmsProvider.java Android Open Source Project (GitHub mirror) · erişim 2026-10-14
- ALEAPP — scripts/artifacts/smsmms.py Alexis Brignoni et al. (GitHub) · erişim 2026-10-14
- SQLite — Write-Ahead Logging SQLite · erişim 2026-10-14
- SQLite — PRAGMA statements (secure_delete) SQLite · erişim 2026-10-14