Skip to content

Obnovitev dokaznih sporočil iz poškodovanega telefona ali poškodovane varnostne kopije klepeta

Številke za klic v sili se razlikujejo glede na državo. Ta stran uporablja 911, številko za Združene države in Kanado. Mnoge druge države uporabljajo 112, 999 ali drugo številko. Poiščite številko za svojo državo.

Ko kritična civilna tožba, bitka za skrbništvo na družinskem sodišču, zaslišanje o prepovedi približevanja, pritožba zaradi nadlegovanja na delovnem mestu, spor glede goljufije izvajalca ali kazenska obramba temelji na besedilnih sporočilih, klepetih WhatsApp, iMessages ali nitih Signal, ujetih v pokvarjen telefon ali poškodovano varnostno kopijo, lahko en sam napačen klik trajno uniči vaš pravni dokaz. Sodobne baze podatkov za sporočila ne shranjujejo sporočil kot preproste besedilne datoteke; shranijo jih znotraj relacijskih SQLite podatkovnih baz (sms.db v sistemu iOS, mmssms.db / bugle_db v sistemu Android, msgstore.db.crypt14 / crypt15 na WhatsApp in baze podatkov SQLCipher na Signal) skupaj z začasnim dnevnikom vnaprejšnjega pisanja (.db-wal) dnevniške datoteke.

Če pomotoma dovolite novemu telefonu, da prepiše vašo posamezno varnostno kopijo v oblaku s prazno bazo podatkov ali če odprete poškodovano bazo podatkov SQLite, ne da bi kopirali njeno skrito -wal ali če predložite obrezane, nepreverjene posnetke zaslona, ​​ki jih odvetnik nasprotne stranke ugovarja kot ponarejene, lahko izgubite podatke in sodno zadevo.

Ta vodnik ponuja korak za korakom nedestruktivno ekstrakcijo klepeta, popravilo baze podatkov SQLite, obnovitev kriptografske varnostne kopije in sodno sprejemljive protokole za forenzično hrambo, ki temeljijo na posebni publikaciji Nacionalnega inštituta za standarde in tehnologijo (NIST) 800-101 Rev. 1 (Smernice za forenziko mobilnih naprav), Pravila 901(b)(9) Zveznih pravil o dokazih (FRE). in 902(14) (elektronski dokazi s samopreverjanjem prek SHA-256 Hash Certification) in uradne specifikacije za obnovitev SQLite/SQLCipher.

Naredi to zdaj

Če morate rešiti kritična besedilna sporočila ali sporočila klepeta iz poškodovanega telefona, pomotoma izbrisane niti ali neuspele varnostne kopije:

  1. Takoj prestavite telefon v letalski način in IZKLOPITE samodejno varnostno kopiranje iCloud / Google Drive. To je pravilo št. 1 mobilne forenzike. Zakaj? Prvič, ko izbrišete sporočilo v iMessage (sms.db), WhatsApp (msgstore.db) ali Android Messages, se besedilo ne takoj izbriše iz bliskovnega pogona, ampak se nahaja znotraj »Freelist / Unallocated Pages« baze podatkov SQLite ali znotraj začasnega Dnevnika vnaprejšnjega pisanja (.db-wal) dokler zbirka podatkov ne zažene ozadja VACUUM čiščenje ali objavi nova sporočila povrh tega. Drugič, če je bilo sporočilo danes izbrisano v vašem telefonu, vaša sinočnja varnostna kopija iCloud ob 02:00 zjutraj ali varnostna kopija Google Drive WhatsApp še vedno vsebuje nedotaknjeno sporočilo, dokler nocojšnja samodejna varnostna kopija Wi-Fi tega ne prepiše. Vklop Letalskega načina takoj ustavi lokalno prepisovanje SQLite in varnostno kopiranje v oblaku. Če ste v neposredni fizični nevarnosti zaradi družinskega zlorabe ali zalezovalca, čigar sporočila shranjujete, se najprej odpravite na varno in pokličite lokalno številko za klic v sili (911 v Združenih državah in Kanadi, 112 po vsej Evropski uniji, 999 v Združenem kraljestvu) ali preverite številke za klic v sili.
  2. Nikoli ne namestite ali se prijavite v WhatsApp ali Signal na novem telefonu in kliknite »Varnostno kopiraj zdaj«, preden obnovite svoj stari arhiv. Milijoni uporabnikov izgubijo leta dokazov WhatsApp, ko nastavljajo nadomestni telefon: če preskočite začetni poziv za obnovitev (ali če obnovitev ne uspe pri 99 odstotkih) in nova prazna namestitev WhatsApp zažene samodejno varnostno kopijo v Google Drive ali iCloud, prepiše vaš večgigabajtni zgodovinski oblak varnostno kopiranje z 0-kilobajtno prazno varnostno kopijo.
  3. Če je zaslon telefona črn ali razbit (digitalizator na dotik pokvarjen), vendar telefon še vedno vibrira ali zvoni, ga NE zaženite znova. Tako v sistemu iOS kot Android (Šifriranje na podlagi datoteke / pred prvim odklepanjem - BFU vs. po prvem odklepanju - AFU), če je bil telefon enkrat odklenjen od zadnjega ponovnega zagona (AFU stanje), so kriptografski ključi, ki ščitijo vaše zbirke podatkov o sporočilih, dešifrirani v RAM-u, kar vam omogoča, da priključite središče USB-C / Lightning za 15 USD z žično računalniško miško USB in monitorjem HDMI, da kliknete "Trust This Computer" in potegnite celotno lokalno varnostno kopijo. Če prisilno znova zaženete telefon z pokvarjenim zaslonom, pade v BFU zaklenjeno stanje, kjer ga niti miška USB niti računalnik ne moreta odkleniti, ne da bi prej popravili zaslon (glejte naš vodnik o obnovitev pokvarjenega ali z vodo poškodovanega telefona).
  4. Kadarkoli kopirate neobdelano bazo podatkov SQLite (sms.db oz msgstore.db), VEDNO kopirajte tri sorodne datoteke skupaj (.db, .db-wal, in .db-shm). Vsaka sodobna baza podatkov za mobilno sporočanje deluje v načinu SQLite WAL (Write-Ahead Logging). Sporočila iz vaših zadnjih dni ali tednov so pogosto v spremljevalcu sms.db-wal oz msgstore.db-wal datoteko, NE znotraj glavne .db datoteka še. Če samo kopirate sms.db in odidi sms.db-wal zadaj, najnovejša sporočila izginejo ali pa se zbirka podatkov odpre kot poškodovana.
  5. Takoj izračunajte in posnemite kriptografsko zgoščeno vrednost SHA-256 katere koli izvožene varnostne kopije ali datoteke baze podatkov. Preden pregledate ali pretvorite katero koli obnovljeno varnostno kopijo, zaženite sha256sum (Linux/macOS) oz Get-FileHash -Algorithm SHA256 (Windows PowerShell) v izvirnem arhivu in shranite 64-mestni zgoščeni niz. Po Zveznem dokaznem pravilu 902(14) je zgoščena vrednost SHA-256 zlati standard za dokazovanje na sodišču, da vaš arhiv digitalnih sporočil ni bil nikoli spremenjen ali fotošopiran.
flowchart TD
    A["Nujna potreba po obnovitvi in ​​ohranitvi dokaznih sporočil (SMS, iMessage, WhatsApp, Signal)"] --> B["TAKOJŠNJA ZAMRZNItev: Omogočite letalski način na telefonu in onemogočite samodejno varnostno kopiranje v oblak na drugih napravah"]
    B --> C{"Kakšno je trenutno stanje telefona in sporočil?"}
    C -->|"1. Telefon deluje, vendar so bila sporočila pomotoma izbrisana"| D["Preverite, ali ima varnostna kopija v oblaku (iCloud / Google Drive) ali lokalna mapa WhatsApp '/Databases' posnetek pred brisanjem"]
    D --> E["Pred obnovitvijo prek telefona v živo: najprej naredite popolno lokalno šifrirano varnostno kopijo v PC/Mac (`idevicebackup2` / iTunes / Finder / ADB), da ohranite brezplačne sezname SQLite WAL"]
    C -->|"2. Zaslon telefona je pokvarjen / črn, vendar se plošča še vedno vklopi"| F["NE znova zaženite (ohranite v stanju »Po prvem odklepanju«); povežite USB-C/Lightning Hub + žično miško USB + zaslon HDMI za odklepanje in avtorizacijo varnostnega kopiranja računalnika"]
    C -->|"3. Datoteka varnostne kopije klepeta ali baza podatkov SQLite (`sms.db`, ​​`msgstore.db`, ​​Signal) je poškodovana / ni je mogoče obnoviti"| G["Kopirajte VSE TRI datoteke (`.db`, ​​`.db-wal`, `.db-shm`) v delovni imenik na PC/Mac"]
    G --> H{"Ali je baza podatkov šifrirana ('crypt14/crypt15' ali SQLCipher) ali standardna SQLite?"}
    H -->|"Šifrirani WhatsApp / Signal"| I["Dešifrirajte s 64-mestnim ključem E2EE / `/data/data/com.whatsapp/files/key` (`wa-crypt-tools`) ali 30-mestnim geslom Signal (`signalbackup-tools`)"]
    H -->|"Dešifrirano / standardni SQLite"| J["Popravite poškodovane strani drevesa B z uporabo `sqlite3 .recover` ali izrezujte izbrisane zapise iz okvirjev Freelist in WAL"]
    E --> K["Preverjanje pristnosti za sodišče: ustvarite zgoščeno vrednost SHA-256 + celotni dokument PDF s CDR nosilca + deklaracijo FRE 902(14)."]
    I --> K
    J --> K

Arhitektura mobilnega shranjevanja sporočil: kje vaša sporočila dejansko živijo

Če želite obnoviti izbrisana ali poškodovana sporočila, ne da bi jih uničili, morate razumeti, kje vsak operacijski sistem in platforma za sporočanje shranjuje svojo živo bazo podatkov, svoje šifrirne ključe in tekoče lokalne varnostne kopije:

Aplikacija/OS za sporočanje Notranja pot datoteke baze podatkov Arhitektura šifriranja Kjer obstajajo skrite lokalne varnostne kopije ali varnostne kopije v oblaku
Apple iOS: iMessage & SMS / MMS / RCS /HomeDomain/Library/SMS/sms.db (plus sms.db-wal in sms.db-shm)
Medijske priloge: /HomeDomain/Library/SMS/Attachments/
(lokalna varnostna kopija Inside Finder/iTunes, sms.db je vedno shranjena pod imenom datoteke SHA-1 3d0d7e5fb2ce288813306e4d4636395e047a3d28)
Standardna baza podatkov SQLite 3 (zaščitena na disku z iOS Data Protection Class C in šifrirana znotraj lokalnih varnostnih kopij PC/Mac, če "Encrypt local backup" geslo je omogočeno). 1. Lokalni Mac/PC Finder/iTunes Backup (-/Library/Application Support/MobileSync/Backup/ oz %APPDATA%\Apple Computer\MobileSync\Backup\).
2. Varnostno kopiranje naprave iCloud (če "Messages in iCloud" je IZKLOPLJEN, popolni posnetki od sms.db so znotraj dnevne varnostne kopije iCloud).
3. Mapa »Nedavno izbrisano« za iOS v aplikaciji Sporočila (Edit -> Show Recently Deleted, hrani izbrisana besedila 30 do 40 dni).
Android: Google Messages (SMS/MMS/RCS) /data/data/com.google.android.apps.messaging/databases/bugle_db (in ponudnik sistemske telefonije /data/user_de/0/com.android.providers.telephony/databases/mmssms.db) Standardna zbirka podatkov SQLite 3 znotraj particije uporabniških poverilnic s šifriranjem na osnovi datotek Android (FBE), podprto s strojno opremo. Google One / Android Cloud Backup (samodejno varnostno kopira sporočila SMS in MMS/RCS, priložena vašemu Google Računu).
WhatsApp v sistemu Android Notranji DB v živo (potreben je root/ključ): /data/data/com.whatsapp/databases/msgstore.db + /data/data/com.whatsapp/files/key
Uporabniku dostopne lokalne varnostne kopije: /sdcard/Android/media/com.whatsapp/WhatsApp/Databases/msgstore.db.crypt14 (oz .crypt15)
.crypt14: AES-256-GCM šifriran z uporabo 158-bajtov key datoteka, shranjena v /data/data/com.whatsapp/files/key.
.crypt15: Šifrirana varnostna kopija od konca do konca, zaščitena z vašim 64-mestnim šestnajstiškim šifrirnim ključem ali geslom.
7-dnevna tekoča lokalna zgodovina: Vsako noč ob 02.00 WhatsApp v Androidu shrani do 7 dni datiranih zgodovinskih varnostnih kopij neposredno v notranji pomnilnik vašega telefona (msgstore-YYYY-MM-DD.1.db.crypt14), PLUS najnovejšo varnostno kopijo na Google Drive.
WhatsApp na iPhone (iOS) /AppDomainGroup-group.net.whatsapp.WhatsApp.shared/ChatStorage.sqlite (plus .sqlite-wal)
(V varnostni kopiji iTunes/Finder, ChatStorage.sqlite je zgoščeno kot 7c7fba66680ef796b916b067077cc246adacf01d)
Standardni SQLite 3 znotraj vsebnika iOS App Group (dostopen v kateri koli nešifrirani ali z geslom dešifrirani lokalni varnostni kopiji iPhone Mac/PC). iCloud Drive WhatsApp Backup plus Local Mac/PC Finder/iTunes Full Device Backup.
Signal Private Messenger (Android in iOS) Lokalna varnostna kopija Android datoteke: signal-YYYY-MM-DD-HH-MM-SS.backup
Namizna aplikacija (Windows/Mac/Linux): -/.config/Signal/sql/db.sqlite + config.json (ali ključ safeStorage OS Keychain)
Android .backup: Šifrirano s 30-mestno številčno geslo, prikazano, ko ste vklopili varnostno kopiranje.
Signal Desktop: Šifrirano prek SQLCipher 4; ključ za dešifriranje je shranjen notri config.json / OS Keychain na vašem prenosniku.
Kritični forenzični obvod: Tudi če je telefon Signal pokvarjen ali izgubljen (in iOS Signal ne ponuja varnostnih kopij v oblaku), če ste kdaj povezali »Signal Desktop« na prenosnem računalniku z operacijskim sistemom Windows, Mac ali Linux, se vaša celotna dešifrirana zgodovina sporočil nahaja lokalno v prenosniku. -/.config/Signal/sql/db.sqlite zbirka podatkov.

1. scenarij: Obnovitev izbrisanih ali poškodovanih sporočil iPhone (sms.db & ChatStorage.sqlite)

Če so bila kritična sporočila iMessages, sporočila SMS ali sporočila WhatsApp izbrisana v iPhonu ali če je iPhone poškodovan, sledite tem natančnim korakom po prednostnem vrstnem redu:

1. korak: Preverite vgrajen trezor »Nedavno izbrisano« v sistemu iOS (prvih 30 do 40 dni)

V iOS 16, iOS 17, iOS 18 in novejših brisanje besedila ali niti iMessage ne takoj premakne v neobdelani prostor brezplačnega seznama SQLite; premakne ga v skrito mapo smeti za 30 dni (do 40 dni pred trajno odstranitvijo): 1. Odprite aplikacijo Messages na iPhonu. 2. Tapnite Uredi (ali Filtri) v zgornjem levem kotu. 3. Tapnite Prikaži nedavno izbrisane. 4. Izberite pogovor in tapnite Obnovi.

2. korak: Ekstrakt sms.db in ChatStorage.sqlite iz lokalne varnostne kopije Mac / Windows brez prepisovanja ničesar

Če je bilo sporočilo trajno izbrisano iz »Nedavno izbrisanih« (ali če morate ekstrahirati sporočila za sodišče ali izrezati izbrisane vrstice SQLite), ustvarite popolno lokalno varnostno kopijo v računalniku takoj, ko je telefon še vedno v letalskem načinu:

  1. Povežite iPhone s kablom USB na Mac (Finder) ali Windows PC (Apple Devices / iTunes) ali Linux (libimobiledevice):
  2. Označite polje za "Šifriraj lokalno varnostno kopijo" in nastavite preprosto geslo, ki ga ne boste pozabili (npr. Evidence1234). (Zakaj omogočiti šifriranje varnostne kopije? Šifrirana lokalna varnostna kopija sistema iOS vključuje dodatne forenzične artefakte, zdravstvene podatke, zgodovino klicev in elemente ključev, ki jih Apple odstrani iz nešifriranih varnostnih kopij).
  3. Kliknite Varnostno kopiraj zdaj in počakajte, da se konča.
  4. V računalniku poiščite mapo neobdelane varnostne kopije:
  5. macOS: -/Library/Application Support/MobileSync/Backup/<UDID>/
  6. Windows: %APPDATA%\Apple Computer\MobileSync\Backup\<UDID>\ oz %USERPROFILE%\Apple\MobileSync\Backup\<UDID>\
  7. Kopiraj to celotno <UDID> mapo takoj na ločen zunanji pogon in izračunajte njeno zgoščeno vrednost SHA-256, tako da vašega prvotnega forenzičnega posnetka ni mogoče nikoli spremeniti.
  8. Poiščite natančne podatkovne baze sporočil znotraj varnostne kopije iOS z uporabo Applovih zgoščenih domen SHA-1:
  9. Apple vsako datoteko znotraj varnostne kopije sistema iOS preimenuje v SHA-1 zgoščeno vrednost Domain-RelativePath, razvrščeni v podimenike z dvema znakoma:
    • Zbirka podatkov Apple SMS/iMessage (HomeDomain-Library/SMS/sms.db): Nahaja se v podmapi 3d/ -> datoteka 3d0d7e5fb2ce288813306e4d4636395e047a3d28
    • Zbirka podatkov WhatsApp iOS (AppDomainGroup-group.net.whatsapp.WhatsApp.shared-ChatStorage.sqlite): Nahaja se v podmapi 7c/ -> datoteka 7c7fba66680ef796b916b067077cc246adacf01d
    • Indeks varnostne kopije datotek (Manifest.db): Glavni indeks SQLite preslika vsako posamezno fotografijo, glasovno beležko in zgoščeno vrednost priloge v pravo ime datoteke v SMS/Attachments/.
  10. (Če ste omogočili šifriranje varnostne kopije, dešifrirajte delovno kopijo varnostne kopije v berljivo mapo z uporabo odprtokodnih orodij, kot je iphone-backup-decrypt v Pythonu ali uglednih lokalnih gledalcev, kot je iMazing oz iBackup Viewer).

Scenarij 2: Obnovitev Android WhatsApp .crypt14 / .crypt15 in Signal .backup arhivi

1. Reševanje starejše varnostne kopije WhatsApp pred iztekom 7-dnevnega tekočega okna

Kaj pa, če je nekdo pred tremi dnevi izbrisal obremenjujoči pogovor WhatsApp na vašem telefonu Android in je varnostna kopija storitve Google Drive ob 02.00 že prepisala kopijo v oblaku? - Priključite svoj telefon Android v računalnik prek USB-ja (v načinu Prenos datotek / MTP) ali odprite aplikacijo Datoteke za Android in se pomaknite do:

Internal Storage/Android/media/com.whatsapp/WhatsApp/Databases/
(ali v starejših različicah Androida: Internal Storage/WhatsApp/Databases/). - V tej mapi boste videli do 7 ločenih datotek: - msgstore.db.crypt14 (Sinočna varnostna kopija, manjkajo izbrisana sporočila) - msgstore-2026-10-30.1.db.crypt14 (Včerajšnja varnostna kopija) - msgstore-2026-10-28.1.db.crypt14 (Varnostna kopija izpred 3 dni, PREDEN so bila sporočila izbrisana) - Kako varno obnoviti 3 dni staro varnostno kopijo v telefonu: 1. Kopiraj celotno Databases/ in Media/ mape najprej v računalnik, da ne morete ničesar izgubiti. 2. Preimenuj trenutno msgstore.db.crypt14 do msgstore-CURRENT-NEW.db.crypt14.bak. 3. Preimenujte starejšo datoteko pred brisanjem msgstore-2026-10-28.1.db.crypt14 na točno aktivno ime datoteke msgstore.db.crypt14. 4. Vklopite Airplane Mode ON (ali začasno prekličite dovoljenje za Google Drive za WhatsApp, da WhatsApp namesto tega ne potegne novejše varnostne kopije v oblaku), odstranite in znova namestite WhatsApp, preverite svojo številko in ko WhatsApp zazna lokalno msgstore.db.crypt14 datoteko tapnite Obnovi. Vsako sporočilo izpred 3 dni se bo znova prikazalo nedotaknjeno.

2. Dešifriranje poškodovano .crypt14 / .crypt15 Varnostne kopije WhatsApp v računalniku (wa-crypt-tools)

Kaj pa, če se datoteka varnostne kopije WhatsApp med obnovitvijo telefona zruši pri 95 odstotkih, ker je zbirka podatkov SQLite v šifriranem ovoju nekoliko poškodovana? Lahko dešifrirate .crypt14 oz .crypt15 vsebnik neposredno na vašem računalniku, popravite bazo podatkov SQLite in preberite vsako sporočilo: - Če imate .crypt15 Šifrirano varnostno kopijo od konca do konca in shranili vaš 64-mestni šestnajstiški ključ (ali če ste ekstrahirali /data/data/com.whatsapp/files/key oz encrypted_backup.key), namestite odprtokodno forenzično orodje Python wa-crypt-tools (wagolek):

# Install wa-crypt-tools on Linux, macOS, or Windows Python:
python3 -m pip install wa-crypt-tools

# Decrypt a WhatsApp .crypt15 backup using your 64-character hex key:
wadecrypt <your_64_character_hex_key> msgstore.db.crypt15 msgstore.db

# Or decrypt a .crypt14 backup using the extracted 158-byte key file:
wadecrypt key msgstore.db.crypt14 msgstore.db
- Enkrat wadecrypt proizvaja surovo msgstore.db SQLite, lahko popravite vse poškodovane strani drevesa B z uradnim SQLite .recover motor v razdelku 3 spodaj.

3. Ekstrahiranje in popravilo poškodovanega signala .backup ali zbirko podatkov Signal Desktop

  • Za Android signal-YYYY-MM-DD.backup datoteke: Če nov telefon noče uvoziti velike datoteke varnostne kopije Signal (ali če je bila datoteka obrezana pri kopiranju z umirajoče kartice SD), uporabite odprtokodno forenzično orodje signalbackup-tools (github.com/bepaald/signalbackup-tools) z vašim 30-mestnim številčnim rezervnim geslom, da razpakirate nepoškodovane okvirje, izvozite neobdelano zbirko podatkov SQLite in ustvarite čist arhiv pogovorov HTML, po katerem je mogoče iskati, z nedotaknjenimi vsemi predstavnostnimi prilogami:
    # Unpack a Signal Android backup (including truncated/partially corrupted archives) to HTML:
    signalbackup-tools signal-2026-10-30.backup "12345 67890 12345 67890 12345 67890" --exporthtml ./recovered_signal_chats/
    
  • Za Signal Desktop (-/.config/Signal/sql/db.sqlite): Tudi če je bil vaš pametni telefon zmečkan v prometni nesreči ali ga je vrglo v jezero in nimate nobenih varnostnih kopij telefona, če je bil vaš prenosnik kdaj povezan s Signal Desktop, kopirajte celoten imenik aplikacij Signal (%APPDATA%\Signal v sistemu Windows, -/Library/Application Support/Signal na macOS, oz -/.config/Signal v sistemu Linux), preden odprete aplikacijo, in izvozite bazo podatkov SQLCipher z uporabo signalbackup-tools oz sqlcipher.

3. scenarij: popravilo poškodovane baze podatkov klepeta SQLite (database disk image is malformed) in izrezovanje izbrisanih vrstic

Ko telefon med pisanjem izgubi moč baterije ali pride do napak pri pomnilniku flash, se odpre sms.db, ChatStorage.sqlite, oz msgstore.db vrže usodno napako SQLite: Error: database disk image is malformed (SQLITE_CORRUPT)

Nikoli ne zaženite destruktivne "plačljive programske opreme SQLite fixer" tretjih oseb v vaši izvirni bazi podatkov. Uporabite uradni SQLite .recover ukaz vgrajen neposredno v sqlite3 (različica 3.29.0+), ki skenira neobdelane 4-kilobajtne strani baze podatkov eno za drugo, tako da zaobide pokvarjene kazalce indeksa B-drevesa:

SQLite po korakih .recover in popravilo kontrolnih točk WAL

  1. Naredite delovno kopijo vseh treh datotek baze podatkov (.db, .db-wal, .db-shm) v novi mapi:
    mkdir ~/chat_rescue && cp sms.db* ~/chat_rescue/ && cd ~/chat_rescue/
    
  2. Zaženite uradni SQLite .recover ukaz za ponovno izgradnjo čiste podatkovne baze (in zajemanje izgubljenih/brezplačnih vrstic):
    # Standard recovery of all intact tables and rows into a brand-new healthy database:
    sqlite3 sms.db ".recover" | sqlite3 sms_repaired.db
    
    # FORENSIC DELETED-ROW RECOVERY: Add the --ignore-freelist flag so SQLite ALSO recovers
    # deleted message fragments still sitting inside unallocated freelist pages into a 'lost_and_found' table:
    sqlite3 sms.db ".recover --ignore-freelist" | sqlite3 sms_forensic_with_deleted.db
    
  3. Izvoz človeku berljivega, kronološkega prepisa CSV/HTML iz popravljene zbirke podatkov:
  4. Za Apple iOS sms.db (Pretvorba Applovega nanosekundnega časovnega žiga CoreData od 1. januarja 2001 v UTC/lokalni datum):
    sqlite3 -header -csv sms_repaired.db "
    SELECT
        m.ROWID AS MsgID,
        datetime(m.date / 1000000000 + 978307200, 'unixepoch', 'localtime') AS Timestamp_Local,
        CASE WHEN m.is_from_me = 1 THEN 'SENT BY ME' ELSE 'RECEIVED' END AS Direction,
        h.id AS Contact_Phone_Or_Email,
        m.service AS Service_Type,
        m.text AS Message_Body,
        a.filename AS Attachment_Path
    FROM message m
    LEFT JOIN handle h ON m.handle_id = h.ROWID
    LEFT JOIN message_attachment_join maj ON m.ROWID = maj.message_id
    LEFT JOIN attachment a ON maj.attachment_id = a.ROWID
    ORDER BY m.date ASC;
    " > recovered_imessage_transcript.csv
    
  5. Za WhatsApp Android msgstore.db (Moderno message shema tabele):
    sqlite3 -header -csv msgstore_repaired.db "
    SELECT
        m._id AS MsgID,
        datetime(m.timestamp / 1000, 'unixepoch', 'localtime') AS Timestamp_Local,
        CASE WHEN m.from_me = 1 THEN 'SENT BY ME' ELSE 'RECEIVED' END AS Direction,
        jid.raw_string AS Chat_Or_Sender_JID,
        m.text_data AS Message_Body
    FROM message m
    LEFT JOIN chat c ON m.chat_row_id = c._id
    LEFT JOIN jid ON c.jid_row_id = jid._id
    ORDER BY m.timestamp ASC;
    " > recovered_whatsapp_transcript.csv
    

Poskrbite, da bodo vaša obnovljena sporočila 100-odstotno sprejemljiva na sodišču (izogibanje ugovoru »lažni posnetek zaslona«)

Vsak teden na družinskih sodiščih, sodiščih za spore majhne vrednosti, zaslišanjih za prepoved približevanja in civilnih sodnih postopkih pridejo ljudje do sodnika z ohlapnimi, obrezanimi posnetki zaslona pametnega telefona, kjer v zgornji glavi stika piše samo vzdevek, npr. "Ex-Husband" oz "Landlord Mike" brez telefonske številke in brez polnih datumov. Nasprotni odvetniki nemudoma ugovarjajo v skladu z zveznim dokaznim pravilom 901 (pomanjkanje avtentikacije) in pravilom 106 (pravilo popolnosti) in trdijo, da lahko vsak preimenuje drugi predplačniški telefon "Landlord Mike" v svoji aplikaciji za stike in si v 30 sekundah pošljejo lažna sporočila.

Warning

Kako narediti svoje besedilo in klepet neprebojne dokaze pred izzivi izmišljanja v sodni dvorani: Sledite tem petim korakom forenzičnega preverjanja pristnosti, preden natisnete svoje dokaze za sodnika:

5-točkovni kontrolni seznam za preverjanje pristnosti v sodni dvorani za besedilne in klepetalne dokaze

  1. Začasno izbrišite ali preimenujte vzdevek stika pred izvozom/posnetkom zaslona, ​​tako da neobdelana telefonska številka (+1-555-019-2834) ali E-pošta se prikaže v vsaki glavi:
  2. Preden naredite varnostno kopijo posnetkov zaslona (ali še bolje, uporabite orodje za izvoz celotne niti PDF, kot je iMazing, Decipher TextMessageali zgornjo poizvedbo SQLite CSV, ki natisne prikazno ime IN neobdelano handle.id telefonsko številko na vsakem oblačku sporočila), se prepričajte, da je na vrhu niti vidna dejanska 10-mestna telefonska številka ali e-poštni naslov Apple ID pošiljatelja, ne le vzdevek stika, ki ga je mogoče prilagoditi.
  3. Pridobite uradne zapise s podrobnostmi klicev mobilnega operaterja (CDR) in dnevnike časovnih žigov SMS/MMS kot neodvisno potrditev tretje osebe:
  4. Medtem ko vaš mobilni operater (AT&T, Verizon, T-Mobile, EE, Vodafone, Rogers, Telstra) dolgo ne hrani besedilne vsebine sporočil SMS (in nikoli ne vidi šifrirane vsebine iMessage/WhatsApp), vaš mesečni izpisek operaterja ali spletni portal računa zagotavlja neodvisen dnevnik tretjih oseb z natančnim datumom, minutami, smerjo (dohodni/odhodni) in telefonsko številko vsakega SMS/MMS. sporočilo in glasovni klic.
  5. Če priložite svoj uradni AT&T / Verizon / T-Mobile Usage Log takoj za izpis besedilnega sporočila, dokažete, da je telefonska številka druge stranke dejansko poslala SMS na vaš telefon na 14:22:09 on October 12, s čimer uničite vse trditve, da ste ponaredili posnetek zaslona.
  6. Izvozi CELOTNO neurejeno nit pogovora (Pravilo o popolnosti - FRE pravilo 106):
  7. Nikoli ne izbirajte osamljenih posnetkov zaslona ali izrežite svojih odgovorov. V skladu z Zveznim pravilom o dokazih 106 lahko nasprotna stran, če ponudite del posnetega pogovora, zahteva celotno okoliško nit, sodniki pa ne zaupajo obrezanim slikam, ki izpuščajo časovne žige ali predhodna sporočila. Natisnite celoten kronološki tok pogovora.
  8. Ohranite izvirno napravo IN datoteko z zgoščeno varnostno kopijo SHA-256 (pravilo najboljšega dokaza - pravilo FRE 1002 & samopreverjanje pristnosti - pravilo FRE 902(14)):
  9. Prinesite dejanski fizični telefon (napolnjen in odklenjen) s seboj k mizi za obravnavo v sodni dvorani, tako da lahko, če nasprotni odvetnik izpodbija izpis, sodniku rečete: "Vaša milost, originalno napravo imam tukaj za mizo odvetnikov za pregled sodišča v skladu s pravilom najboljših dokazov."
  10. Poleg tega so v skladu z Zveznim dokaznim pravilom 902(14) (in enakovrednimi zveznimi državami, sprejetimi v ZDA) podatki, kopirani iz elektronske naprave, samopreverjeni, če jim je priloženo pisno potrdilo, ki določa digitalno zgoščeno vrednost SHA-256 izvirnega izvlečka in kopije.
  11. Priložite podpisano "Izjavo o avtentifikaciji elektronskih besedilnih/klepetalnih sporočil" (spodnja predloga kopiraj in prilepi):
DECLARATION AUTHENTICATING ELECTRONIC MESSAGE EVIDENCE
(Pursuant to Federal Rules of Evidence 901(b)(1), 901(b)(4), and 902(14) / State Equivalents)

I, [YOUR FULL LEGAL NAME], declare under penalty of perjury under the laws of the State of [STATE] and the United States of America that the following is true and correct:

1. I am the [Plaintiff / Defendant / Petitioner / Respondent] in this action and have personal knowledge of the facts set forth herein.
2. I am the sole owner and user of the [Apple iPhone / Android Smartphone], assigned telephone number [YOUR 10-DIGIT PHONE NUMBER].
3. Attached hereto as EXHIBIT A is a true, complete, and unedited chronological transcript and printout of [SMS / iMessage / WhatsApp / Signal] messages exchanged between my telephone number ([YOUR NUMBER]) and [NAME OF OTHER PARTY] at telephone number [OTHER PARTY'S 10-DIGIT PHONE NUMBER] between [START DATE] and [END DATE].
4. I personally know that telephone number [OTHER PARTY'S NUMBER] belongs to and is used by [NAME OF OTHER PARTY] because: (a) we have communicated at that number regularly since [YEAR]; (b) I have spoken to [NAME OF OTHER PARTY] by voice call at that exact number and recognized their voice; and (c) the messages inside Exhibit A contain distinctive personal facts, photographs, and references known uniquely to [NAME OF OTHER PARTY] (pursuant to FRE Rule 901(b)(4) Distinctive Characteristics).
5. Not a single message, timestamp, or attachment in Exhibit A has been altered, deleted, or modified in any way. On [DATE OF EXTRACTION], a complete forensic backup of the original messaging database (`[FILENAME, e.g., sms.db / msgstore.db]`) was preserved prior to printing Exhibit A, yielding the following cryptographic SHA-256 hash fingerprint:
   SHA-256 Hash: [INSERT 64-CHARACTER HEXADECIMAL SHA-256 HASH FROM sha256sum / Get-FileHash]
6. Attached hereto as EXHIBIT B are true and correct copies of my official mobile carrier call/message detail records from [NAME OF CARRIER] independently corroborating the dates, times, and telephone numbers of the communications.
7. The original smartphone device and the SHA-256 verified backup archive remain in my secure custody and are available for immediate inspection by the Court.

Executed on [DATE] at [CITY, STATE].

____________________________________
[YOUR SIGNATURE]
[YOUR PRINTED NAME]

Pogosta vprašanja

Ali mi lahko moj mobilni operater (AT&T, Verizon, T-Mobile, Vodafone) da izpis vsebine izbrisanega besedilnega sporočila, če pokličem službo za stranke?

Ne, ne prek običajne službe za stranke in običajno sploh ne za vsebino sporočil. Prvič, operaterji NIKOLI nimajo dostopa do vsebine sporočil iMessages, sporočil WhatsApp, sporočil Signal ali šifriranih klepetov RCS od konca do konca, ker gredo prek interneta v šifrirani obliki, ne prek operaterjevih strežnikov SMS. Drugič, tudi pri tradicionalnih besedilnih sporočilih SMS z zelenim oblačkom glavni operaterji shranjujejo dejansko besedilo besedila na svojih strežnikih za preklapljanje sporočil samo 3 do 7 dni (Verizon hrani vsebino SMS približno 3 do 5 dni; AT&T in T-Mobile zavržeta vsebino telesa SMS sporočila skoraj takoj po dostavi ali v 72 urah) in bodo izdali medpomnjeno vsebino SMS SAMO kot odgovor na veljaven sodni poziv ali nalog za preiskavo, nikoli stranki po telefonu. Zato obnovitev izbrisanih sporočil neposredno iz baze podatkov SQLite vašega telefona (`sms.db` / `bugle_db`) ali vaša varnostna kopija iCloud/Google Drive je skoraj vedno vaša edina pot do obnovitve dejanskih besed.

Kaj se zgodi, če druga oseba na WhatsApp, Signal ali iMessage uporabi »Izbriši za vse« ali »Izginjajoča sporočila«, da izbriše svoje grožnje?

Ko se pošiljatelj dotakne »Izbriši za vse« (ali »Prekliči pošiljanje« v iOS iMessage), medtem ko je vaš telefon povezan z internetom, aplikacija prejme ukaz za oddaljeno brisanje, ki odstrani sporočilo z vašega vidnega zaslona. Vendar ga lahko še vedno zajamejo trije forenzični načini obnovitve: (1) Če telefon preklopite v letalski način, PREDEN pošiljatelj pritisne »Izbriši za vse«, ukaz za brisanje na daljavo ne more doseči vašega telefona, dokler ne fotografirate in varnostno kopirate zaslona; (2) V telefonih Android z omogočeno »Zgodovino obvestil« (`Settings -> Notifications -> Advanced settings -> Notification history`), operacijski sistem Android beleži natančno celotno besedilo vsake dohodne pasice z obvestili WhatsApp, Signal in SMS za 24 ur in »Izbriši za vse« NE MORE izbrisati dnevnika zgodovine obvestil sistema Android; in (3) tako v sistemu iOS kot v sistemu Android izbrisana vrstica pogosto pusti ostanke besedila v neizsesanem SQLite `.db-wal` Dnevnik zapisovanja vnaprej, če takoj posnamete telefon v letalskem načinu.

Zakaj je moj izvozil `sms.db` oz `msgstore.db` zbirka podatkov zamudila zadnje 3 dni sporočil, ko sem jo odprl v brskalniku DB za SQLite?

Ker ste kopirali samo `.db` datoteko in pustil za seboj `.db-wal` (Write-Ahead Log) datoteko v izvornem imeniku. Sodobne baze podatkov iOS in Android uporabljajo način SQLite WAL, kjer so vsa na novo poslana in prejeta sporočila dodana spremljevalcu `.db-wal` najprej in so samo združeni ("preverjeni") v glavno `.db` občasno datoteko. Kadarkoli izvlečete `sms.db`, `ChatStorage.sqlite`, `msgstore.db`, oz `bugle_db`, MORATE kopirati vse tri datoteke (`filename.db`, `filename.db-wal`, in `filename.db-shm`) v popolnoma isto mapo, preden odprete bazo podatkov v SQLite, ki bo nato samodejno združil transakcije WAL in prikazal vsako posamezno nedavno sporočilo.

Ali lahko pridobim mobilni forenzični laboratorij, da izvleče izbrisana besedila iz mojega telefona z uporabo Cellebrite ali Oxygen Forensics za sodni primer?

ja Za razliko od obnove trdega diska v čistem prostoru imate zakonsko dovoljenje, da najamete zasebnega certificiranega digitalnega forenzičnega preizkuševalca (ki ima certifikate, kot so asiacis CFCE, GIAC GCFE/GASF ali Cellebrite CCO/CCPA), da izvede soglasno forenzično ekstrakcijo vašega lastnega pametnega telefona z uporabo Cellebrite UFED, Magnet AXIOM ali Oxygen Forensic Detective. Licencirani digitalni forenzični preiskovalec običajno zaračuna pavšalno pristojbino od 400 do 1200 USD na napravo za izvedbo ekstrakcije naprednega logičnega ali datotečnega sistema, izrezovanje izbrisanih artefaktov SQLite freelist in WAL, ustvarjanje poročila PDF z Batesovim žigom z zgoščenimi vrednostmi SHA-256 in podpis uradnega potrdila skrbnika Federal Rule of Evidence 902(14), ki naredi poročilo. samoavtentifikacijo na sodišču, ne da bi moral izvedenec pričati osebno.

Viri preverjeni

  • Nacionalni inštitut za standarde in tehnologijo (NIST, Združene države): * Posebna publikacija NIST 800-101 Rev. 1: Smernice za forenziko mobilnih naprav (ohranjanje, RF izolacija v letalskem načinu, artefakti baze podatkov SQLite in preverjanje zgoščevanja)*.
  • Upravni urad sodišč Združenih držav: Pravilo 106 Zveznih pravil o dokazih (FRE) (ostanek ali povezani zapisi ali posnete izjave), pravilo 901(b)(1), (b)(4) in (b)(9) (preverjanje pristnosti elektronskih dokazov), pravilo 902(13) in 902(14) (overjeni podatki, kopirani iz elektronskega Naprava prek zgoščene vrednosti) in pravilo 1002 (zahteva izvirnika).
  • Konzorcij SQLite: Uradna dokumentacija SQLite o beleženju vnaprejšnjega pisanja (način WAL), obliki datoteke poškodovanih baz podatkov, straneh Freelist in .recover Ukaz CLI.
  • Apple Inc.: Varnostni vodnik za platformo Apple (razredi zaščite podatkov, hierarhija ključev pred prvim odklepanjem in po prvem odklepanju in struktura manifesta varnostne kopije iTunes/Finder).
  • Znanstvena delovna skupina za digitalne dokaze (SWGDE): Best Practices for Mobile Phone Forensics and SQLite Database Examination.

Sorodni vodniki