Mesajlaşma ve uygulamalarTemelMesajlaşma

Android için WhatsApp mesajları (msgstore.db)

WhatsApp Android mesaj deposu: sohbetler, JID'ler, ms zaman damgalı mesajlar, medya yolları, konumlar ve call_log; eski ve yeni şemalar.

01Konum

  • /data/data/com.whatsapp/databases/msgstore.db (+ -wal, -shm)
  • Media: …/WhatsApp/Media/ on shared storage or …/com.whatsapp/files/Media/
  • Encrypted backup copies: …/WhatsApp/Databases/msgstore.db.cryptNN

02Yanıtladığı sorular

  • Hesap kimlerle, hangi sohbetlerde, ne zaman mesajlaştı?
  • Hangi medya dosyaları ve konumlar gönderildi veya alındı?
  • Hangi WhatsApp aramaları yapıldı veya alındı, ne kadar sürdü?
  • Hesap hangi gruplara ve kanallara dahildi?

03Biçim ve sürümler

BiçimSQLite. Yeni şema: message, chat, jid (raw_string), jid_map (LID → telefon JID), message_media, message_location, call_log, newsletter. Eski şema: group_participants ile birlikte messages (key_remote_jid, key_from_me, data).
Geçerli olduğu sürümlerALEAPP eski messages tablosunu yalnız eski Android 11/12 test imajlarında buldu; yeni veri tabanları message tablosunu kullanır ve sohbetleri jid_map ile çözülen LID JID'leriyle (…@lid) anahtarlayabilir.

04Temel alanlar

AlanNe anlatır
message.chat_row_id → chat.jid_row_id → jid.raw_stringSohbet JID'si; gruplar @g.us, kanallar @newsletter ile biter.
message.from_me / sender_jid_row_idYön (1 giden) ve grup sohbetlerinde gönderen.
message.text_data / message_typeMetin gövdesi ve mesaj türü kodu (ALEAPP yalnız bazı değerleri etiketler).
message_media.file_path / file_sizeMedya yolu ve boyutu.
message_locationlive_location_final_timestamp dahil paylaşılan/canlı konum verileri.
call_logtimestamp, duration, from_me, jid_row_id, group_jid_row_id.
chat.subject / created_timestampGrup veya kanal konusu ve sohbet oluşturma değeri.

05Zaman damgaları

AlanKodlamaNot
message.timestampUnix epoch, millisecondsMesaj zamanı; 0 değer olmadığını gösterir.
message.received_timestampUnix epoch, millisecondsCihazda alınma zamanı; 0 yok demektir.
call_log.timestamp / durationUnix ms / secondsArama bitişi başlangıç + süre olarak hesaplanır, saklanmaz.
chat.created_timestampUnix epoch, millisecondsBunun grup oluşturmayı mı yoksa sohbetin bu cihazda oluşturulmasını mı gösterdiği belirlenmemiştir.

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

06İnceleme akışı

  1. msgstore.db, wa.db, WAL dosyaları ve medya klasörlerini birlikte koruyun.
  2. Şemayı (message / messages) ve jid_map tablosunun var olup olmadığını belirleyin.
  3. Sohbet ve gönderen JID'lerini çözün, LID JID'lerini jid_map ile eşleyin, ardından adları wa.db'den ekleyin.
  4. Milisaniye zaman damgalarını dönüştürün ve medya yollarını dosyalarla eşleştirin.
  5. Raporlamada bire bir, grup ve kanal sohbetlerini ayırın.

07Yorum tuzakları

  • @g.us grup kuralı WhatsApp belgelerinden değil, üçüncü taraf bir istemciden (whatsmeow) alınmıştır.
  • Test imajlarında kanal mesajlarında sender_jid_row_id 0 idi; yani yazar kaydedilmemiştir.
  • Şema uygulama sürümleri arasında sık değişir; tabloları ve sütunları her veri tabanında doğrulayın.
  • Son etkinlik yalnız WAL dosyasında olabilir.

09Kaynaklar

  1. ALEAPP — scripts/artifacts/WhatsApp.py Alexis Brignoni et al. (GitHub) · erişim 2026-10-14
  2. WhatsApp in Plain Sight: Where and How You Can Collect Forensic Artifacts Igor Mikhailov, Group-IB (2019) · erişim 2026-10-14
  3. SQLite — Write-Ahead Logging SQLite · erişim 2026-10-14