Menu

9 juli 2010

SMS berichten exporteren vanuit een iPhone backup

Als de iPhone met iTunes wordt gesynchroniseerd dan wordt er tevens een complete backup van je device gemaakt. In deze backup zitten naast alle instellingen ook persoonlijke data zoals contactpersonen en SMS berichten.

Wanneer je geen gebruik maakt van de ‘gecodeerde’ backup optie dan is het mogelijk om de SMS berichten die zich in de backup bevinden om te zetten naar een tekstbestand. Dit kan handig zijn als je de SMS berichten wilt bewaren of spontaan forensische neigingen krijgt :)

De iOS 4.0 backups die door iTunes van je iPhone worden gemaakt bevinden zich in de map:

(home) ~ ▸ Bibliotheek ▸ Application Support ▸ MobileSync ▸ Backup

Als je deze map bekijkt zijn dan zie je een aantal mappen die beginnen het met een UDID, dit is een uniek device ID die door Apple aan iPhones, iPads en iPod Touches wordt toegekend. Wanneer je meerdere iPhones of een iPhone en iPad bezit dan heb je dus meerdere UDID mappen.

Je kan het juiste UDID van een device terugvinden door je device aan te sluiten op je Mac en iTunes te starten. Selecteer het device en ga naar het tabblad ‘Samenvatting’, klik met option⌥ ingedrukt op ‘Serienummer’ hierdoor verschijnt het UDID van je device op het scherm.

Als je het UDID van je device weet selecteer dan de meest recente map die begint met het UDID in home-map ▸ Bibliotheek ▸ Application Support ▸ MobileSync ▸ Backup.

Ga in deze map opzoek naar het onderstaande bestand en kopieer deze naar je bureaublad:

3d0d7e5fb2ce288813306e4d4636395e047a3d28

Dit bestand is een SQLite database en bevat al je sms berichten. Met behulp van SQLite3 kan je dit bestand eenvoudig omzetten naar een leesbaar tekstbestand.

Open een nieuwe OS X Terminal sessie om het bestand te openen met SQLite. In het voorbeeld ga ik er vanuit dat het bestand op het bureaublad is geplaatst.

sqlite3 ~/Desktop/3d0d7e5fb2ce288813306e4d4636395e047a3d28

Hierna kom je in de SQLite interface, gebruik de onderstaande commando’s om de SMS berichten te exporteren naar een comma separated (.csv) bestand.

SQLite version 3.4.0
Enter “.help” for instructions
sqlite> .header on
sqlite> .mode csv
sqlite> .output smsexport.csv
sqlite> select datetime(date, 'unixepoch', 'localtime') as "date", case when flags=3 then 'verzonden' else 'ontvangen' end as "from", address as phone, text as "message" from message;
sqlite> .quit

In de directory waarin je SQLite hebt opgestart is nu het tekstbestand smsexport.csv aangemaakt met daarin al je SMS berichten. Wanneer je deze output in een werkblad van Numbers sleept dan ziet er dat als volgt uit:

Hieronder een korte screencast met een alternatieve methode:

httpv://www.youtube.com/watch?v=9bDMSXyqiDg&fmt=18




Gerelateerde tips:




Reacties


  • George 9 juli 2010 om 11:47

    Krijg error: SQL error: no such table: message

  • Christa 9 juli 2010 om 12:25

    ik krijg dezelfde foutmelding als George: ‘no such table: message’

  • Nuяb 9 juli 2010 om 13:34

    Bij mij zit in de map Backup een map die begint met
    ed024821afd…..

    En ik krijg ook die foutmelding.

    Iphone 3G, software 3.1.3

  • Richard 9 juli 2010 om 13:37

    @George & Christa:

    “SQL error: no such table: message” wanneer je deze foutmelding krijgt dan is het path naar het bestand niet juist.

    Typ in Terminal: sqlite3 + een spatie en sleep het bestand in het Terminal venster automatisch wordt het goede path ingevuld, hierna kan je de query uitvoeren.

  • Richard 9 juli 2010 om 14:27

    *Update* > Screencast toegevoegd!

  • Jesper 9 juli 2010 om 15:08

    Prefect! werkt als een trein!

  • Zengenie 9 juli 2010 om 15:09

    In de beschrijving staat:
    sqlite3 ~\Desktop\3d0d7e5fb2ce288813306e4d4636395e047a3d28

    Verander dit in de volgende 2 Terminal commando’s:
    cd ~/Desktop
    sqlite3 3d0d7e5fb2ce288813306e4d4636395e047a3d28

    De rest van de beschrijving blijft hetzelfde.

  • Zengenie 9 juli 2010 om 15:12

    –of–

    In de beschrijving staat:
    sqlite3 ~\Desktop\3d0d7e5fb2ce288813306e4d4636395e047a3d28

    Vervang dit door:
    sqlite3 ~/Desktop/3d0d7e5fb2ce288813306e4d4636395e047a3d28

  • Christa 9 juli 2010 om 16:56

    Dank dank! het werkt :D

  • George 9 juli 2010 om 20:56

    of je zet .mddata achter de file-name, dan werkt het ook :-)

  • baziel 10 juli 2010 om 11:51

    Is het werkelijk zo dat al mijn sms berichten amper 1,5Mb innemen? En dat na 2 jaar mijn iPhone 3G te hebben..

    Bij mij is het gelukt! :)

  • John 27 september 2010 om 14:54

    Misschien een stomme vraag hoor, maar als je dit bestand kopieert en plaatst naar je 2e iPhone, komen daar dan de smsjes ook op beschikbaar?

  • Kipnugget 5 oktober 2010 om 12:27

    Bij mij geeft hij een error als ik “.output smsexport.csv” in heb getypt. Als antwoord krijg ik “can’t write to “smsexport.csv” “. Krijg het met geen mogelijkheid veranderd, heb wel gewoon admin rechten… Misschien geen root?

  • Freezz 18 oktober 2010 om 16:34

    Ik krijg de volgende melding steeds.. Error: near “sqlite3”: syntax error
    Wat betekent dit en wat moet ik hieraan doen?..

  • M 8 december 2010 om 14:16

    Hoi! Is er iemand die deze werkwijze kan omzetten naar een stappenplan voor een laptop met Windows? Dat zou super zijn!

  • M 8 december 2010 om 14:21

    Hoi! Ik kan geen beschrijving vinden van het omzetten vd backup naar leesbare tekst voor een Windows laptop. Kan iemand mij daarbij helpen? Dat zou super zijn!

  • Petman 12 januari 2011 om 22:26

    Hee onwijs bedankt voor de tip. Ik moest wel even het goede bestand opzoeken, ik had er een paar met dezelfde naam. Uiteindelijk gelukt.

  • bernd 31 mei 2011 om 12:06

    telkens als ik het probeer krijg ik deze foutmelding:

    sqlite> select datetime(date, ‘unixepoch’, ‘localtime’) as “date”, case when flags=3 then ‘verzonden’ else ‘ontvangen’ end as “from”, address as phone, text as “message” from message;
    SQL error: file is encrypted or is not a database
    sqlite>

    enig idee wat ik fout doe?
    bij voorbaar dank.

  • dana 12 september 2011 om 23:15

    Ik krijg dezelfde foutmelding, staat de backup van de iPhone 3 automatisch op encrypted (want ik heb daar nooit op geklikt)
    Is het mogelijk om toch te exporteren wanneer je deze foutmelding krijgt?

    SQL error: file is encrypted or is not a database

  • Maarten 2 januari 2012 om 21:33

    Werkt perfect, ook op Windows! Bedankt!
    Ik wist ook niet dat het een sqlite databasebestand was. Ik heb het nu ook met andere (grafische) tools geopend, maar deze commandline-methode is wel zo doeltreffend en simpel.

  • ely 11 februari 2012 om 7:43

    Iemand een idee hoe dit met IOS 5 gaat?
    Bestand is niet meer terug te vinden op mijn mac
    en heb het gevoel dat mijn backup niet meer in itunes staat, maar in de cloud hangt….
    dus hoe geraak ik eraan?

Een reactie toevoegen: