01Konum
- /private/var/mobile/Library/SMS/sms.db (+ -wal, -shm)
- /private/var/mobile/Library/SMS/Attachments/
- Backup: HomeDomain-Library/SMS/sms.db
02Yanıtladığı sorular
- Cihazla kim, hangi hizmet üzerinden (iMessage veya SMS), ne zaman mesajlaştı?
- Bir mesaj ne zaman teslim edildi ve okundu?
- Çift SIM'li bir cihazda mesajı hangi yerel hat veya hesap gönderdi ya da aldı?
- Hangi ekler paylaşıldı ve nerede saklanıyor?
03Biçim ve sürümler
| Biçim | SQLite veri tabanı. Mesajlar message, katılımcılar handle, konuşmalar chat tablosundadır ve chat_message_join ile chat_handle_join üzerinden bağlanır; ekler message_attachment_join aracılığıyla attachment tablosundadır. Metin message.text içindedir; boşsa message.attributedBody (typedstream ile serileştirilmiş NSAttributedString) içindedir. |
|---|---|
| Geçerli olduğu sürümler | Sütun kümeleri iOS sürümleri arasında değişir; iLEAPP ayrıştırıcısı saniye ve nanosaniye hassasiyetli tarih değerlerini işler. |
04Temel alanlar
| Alan | Ne anlatır |
|---|---|
| message.is_from_me | Giden için 1, gelen için 0. |
| message.handle_id → handle.id | Alınan satırlar için gönderen tanıtıcısı (telefon numarası veya e-posta). |
| message.service / account | Saklandığı şekliyle hizmet adı ve yerel hesap. |
| message.destination_caller_id | Kullanılan yerel hesabın numarası veya kimliği; çift SIM'li cihazlarda hatları ayırır; e-posta veya UUID olabilir. |
| chat.chat_identifier / display_name | Saklandığı şekliyle konuşma tanımlayıcısı ve grup adı. |
| attachment.filename / transfer_name / mime_type / total_bytes | Her ekin saklanan yolu, özgün adı, türü ve boyutu. |
05Zaman damgaları
| Alan | Kodlama | Not |
|---|---|---|
| message.date | Apple Cocoa time (since 2001-01-01 UTC); seconds or nanoseconds | Unix zamanına geçmek için 978.307.200 s ekleyin; iLEAPP 10^15'ten büyük değerleri nanosaniye kabul eder. |
| message.date_read / date_delivered | Apple Cocoa time; seconds or nanoseconds | Sıfır, değer kaydedilmediği anlamına gelir. |
| attachment.created_date | Apple Cocoa time | Ek kaydının oluşturulma zamanı. |
Ham değerleri Zaman damgası çözücü, yerel saatleri ise Yerel saatten UTC'ye ile çözün.
06İnceleme akışı
- sms.db dosyasını -wal/-shm ve Attachments klasörüyle birlikte koruyun.
- 2001 epoch'undan dönüştürmeden önce her tarih sütununun hassasiyetini (saniye/nanosaniye) belirleyin.
- text boş olduğunda attributedBody alanını çözün.
- chat bazında gruplayın ve katılımcıları chat_handle_join üzerinden listeleyin.
- Hatları karşılaştırmadan önce destination_caller_id yazımlarını normalleştirin.
07Yorum tuzakları
- Eklere yapılan birleştirmeler mesajı her ek için yineler; sayımı message ROWID üzerinden yapın.
- Aynı hat yalın rakam, +E.164 veya tel: önekiyle görünebilir.
- Kaydedilmemiş değişiklikler yalnız WAL dosyasında bulunabilir.
09Kaynaklar
- iLEAPP — scripts/artifacts/sms.py Alexis Brignoni et al. (GitHub) · erişim 2026-10-14
- CFAbsoluteTime Apple Developer Documentation · erişim 2026-10-14
- SQLite — Write-Ahead Logging SQLite · erişim 2026-10-14
- iTunes Backup The Apple Wiki · erişim 2026-10-14