• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

[iOS 5] SMS-Backup auslesen und speichern

comfreak

deaktivierter Benutzer
Registriert
05.11.08
Beiträge
959
Hallo zusammen,

da ich ein SMS-Konversation auf Papier benötige, suche ich eine Möglichkeit, die auf meinem iPhone 4 gespeicherten SMS zu extrahieren.
Bisher bin ich durch Google-Recherchen schon soweit gekommen, dass ich die "sms.db"-Datei isolieren konnte. Diese scheint jedoch (teilweise) verschlüsselt zu sein, denn teilweise sehe ich Klartext und größtenteils nur Zeichen-Wirrwarr..
Kennt jemand eine kostenlose Möglichkeit? Bisher habe ich nur eine 20$-Software gefunden, die zwar mein Problem lösen würde, aber eben kostenpflichtig ist..

Vielen Dank!
Gruß comfreak


[Mod Info]
Anleitungen, wie ihr die SMS-Datenbank auslesen könnt, findet ihr nun im Wiki:
http://www.apfeltalk.de/wiki/SMS_am_Computer_sichern
http://www.apfeltalk.de/wiki/SMS-Datenbank_des_iPhones_auslesen

- nightkrwlr
 
Zuletzt bearbeitet von einem Moderator:

smoe

Roter Winterkalvill
Registriert
13.04.09
Beiträge
11.575
Also ich verwende PhoneView (deine verlinkte Software) und bin damit recht zufrieden, da kannst du dir deine Konversationen entweder als txt-files oder als schicke pdfs in iPhone Sprechblasenoptik exportieren.

Für deinen Zweck sollte es doch auch die kostenlose Testversion tun?

Ist auf jeden Fall die komfortablere Lösung als von Hand in der sms.db herumzustochern...
 

comfreak

deaktivierter Benutzer
Registriert
05.11.08
Beiträge
959
Das Problem ist, dass die Testversion nur die ersten 10 SMS anzeigt und auch das auch über alle Absender verteilt. Also die effektiv letzten 10 SMS, die ich geschrieben habe und nicht die, welche ich mit einer ausgewählten Person geschrieben habe..

Gruß comfreak
 

jobear

Golden Delicious
Registriert
04.01.12
Beiträge
10
Hi,
interessierte mich auch das Thema und habe mir das mal angeschaut. Alles kostenlos und mit OSX eigenen Mitteln:

Ich gehe davon aus das du die Datei sms.db vom iPhone(Backup) hast.
Das ist eine sqlite Datenbank.

Installiere dir sqlite3 (gibt es für windows/linux/osx - hier anscheinend schon von haus aus dabei)

In der Konsole/Terminal machst du dann folgendes (Eingaben fettgedruckt):

MacBook:SMS jobear$ sqlite3 ./sms.db
SQLite version 3.7.5
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from message;
44|80112|1319919535|Lieber Kunde, Ihre Surfgeschwindigkeit wird tarifgemäß auf GPRS-Niveau reduziert. Ab dem 08.11 surfen Sie wieder mit voller Geschwindigkeit.|2|0||8|0|0|4|0||de|||1|||0||0||||||||0|0|0|0
...


Die Ausgabe ist eine Tabelle.
Erste Spalte: SMS Nummer
Zweite Spalte: Absendernummer
dritte Spalte: UnixTimestamp
vierte Spalte: SMS Inhalt
die anderen Spalten kann ich jetzt auf Anhieb nicht zuordnen, aber das sollten eigentlich alle Informationen sein die du benötigst. Ich wette es gibt auch schöne Grafische Tools dafür.



Nachtrag:
wenn du vor dem select * from message; noch ein ".mode csv" eingibst erhälst du direkt eine csv Ausgabe. Die kannst du zB per c'n'p in eine Textdatei kopieren und in Numbers/Excel importieren.


Viele Grüße,
Joscha
 

jobear

Golden Delicious
Registriert
04.01.12
Beiträge
10
Nachtrag 2:
sqlite3 -csv -header sms.db 'select * from message' > sms.csv

Anschliessend hast du deine SMS in der Datei sms.csv
 

comfreak

deaktivierter Benutzer
Registriert
05.11.08
Beiträge
959
Da muss ich dich enttäuschen, denn seit iOS 5 sind die Backups verschlüsselt, wie folgender Fehler beweist:

SQL error: file is encrypted or is not a database

Der kam, als ich deinen Ansatz probiert hab..

Gruß comfreak
 

landplage

Admin
AT Administration
Registriert
06.02.05
Beiträge
23.459
Brauchst Du nur eine Papierform oder muß es ein editierbarer Text sein? Um den Dialog auszudrucken, kannst Du einfach Screenshots auf dem iPhone machen und die Bilder dann zusammensetzen. Das sieht dann bestimmt schick aus, gedruckt auf glänzendem Fotopapier, grüner Rahmen drum und super!
 

jobear

Golden Delicious
Registriert
04.01.12
Beiträge
10
mmmh das ist seltsam, ich hab ein 4S und habe nie ein anderes iphone besessen. Die sms.db die ich nutzte kommt also definitiv von einem ios5.
Welche sqlite3 version hast du? Ich nutze 3.7.5.
In iTunes evtl. irgendwo eingestellt dass, das Backup verschluesselt wird?


Habe noch etwas gespielt und die Ausgabe etwas gepimpt (Zeilenumbrüche in der Nachricht entfernt und Datum direkt konvertiert:

sqlite3 -csv -header sms.db "select ROWID,address,datetime(date,'unixepoch','localtime') as date,replace(text,X'0A',' ') from message" > sms.csv
 

comfreak

deaktivierter Benutzer
Registriert
05.11.08
Beiträge
959
Brauchst Du nur eine Papierform oder muß es ein editierbarer Text sein? Um den Dialog auszudrucken, kannst Du einfach Screenshots auf dem iPhone machen und die Bilder dann zusammensetzen. Das sieht dann bestimmt schick aus, gedruckt auf glänzendem Fotopapier, grüner Rahmen drum und super!

Da es relativ viele SMS sind, wäre das eher Papierverschwendung..

mmmh das ist seltsam, ich hab ein 4S und habe nie ein anderes iphone besessen. Die sms.db die ich nutzte kommt also definitiv von einem ios5.
Welche sqlite3 version hast du? Ich nutze 3.7.5.
In iTunes evtl. irgendwo eingestellt dass, das Backup verschluesselt wird?


Habe noch etwas gespielt und die Ausgabe etwas gepimpt (Zeilenumbrüche in der Nachricht entfernt und Datum direkt konvertiert:

sqlite3 -csv -header sms.db "select ROWID,address,datetime(date,'unixepoch','localtime') as date,replace(text,X'0A',' ') from message" > sms.csv

Danke für deine Mühe, habe Version 3.6.12.
Wie kann ich das Updaten?

Gruß comfreak
 

jobear

Golden Delicious
Registriert
04.01.12
Beiträge
10
ich habe die nie geupdated. Das ist die Version die bei meinem OSX Lion mit allen aktuellen Updates dabei ist.
Ich habe allerdings auch xcode installiert, vielleicht bringt das eine aktuellere Version mit.
Du nutzt doch OSX, oder?
 

comfreak

deaktivierter Benutzer
Registriert
05.11.08
Beiträge
959
ich habe die nie geupdated. Das ist die Version die bei meinem OSX Lion mit allen aktuellen Updates dabei ist.
Ich habe allerdings auch xcode installiert, vielleicht bringt das eine aktuellere Version mit.
Du nutzt doch OSX, oder?

Ja, aber Snow Leopard mit 10.6.8..
 

comfreak

deaktivierter Benutzer
Registriert
05.11.08
Beiträge
959
mit dem OSX(x86) Binary direkt von der sqlite Homepage (http://www.sqlite.org/download.html) klappt es auch:

http://www.sqlite.org/sqlite-shell-osx-x86-3070900.zip

MacBook:SMS joscha$ /Users/joscha/Downloads/sqlite3 -csv -header sms.db "select ROWID,address,datetime(date,'unixepoch','localtime') as date,replace(text,X'0A',' ') from message"

Damit hat es wunderbar geklappt, danke! :)
Ich frage mich nur, ob es wie in einer Software, die ich gefunden habe, eine Spalte gibt, die mir angibt, ob die SMS "Incoming" oder "Outgoing" war.
Kennst du die Spalte?

Gruß comfreak
 

comfreak

deaktivierter Benutzer
Registriert
05.11.08
Beiträge
959
Ok, habe herausgefunden, dass die Spalte "flags" das beschreibt: 2 für Incoming und 3 für Outgoing.

Gruß comfreak
 

comfreak

deaktivierter Benutzer
Registriert
05.11.08
Beiträge
959
Also es funktioniert jetzt alles wie gewünscht.

Noch zusammenfassend, wie ich es gemacht habe:
  1. SQLite3 von der Webseite geladen
  2. Dann den Befehl von jobear (klein wenig verändert) benutzt:
    Code:
    /Users/[I]Benutzer[/I]/Downloads/sqlite3 -csv -header sms.db "select address, flags, datetime(date,'unixepoch','localtime ') as date,replace(text,X'0A',' ') from message" > sms.csv
    Diesen im Verzeichnis der sms.db ausführen.
  3. Nun konnte ich in Excel (besser funktioniert OpenOffice - wirklich!) die CSV importieren (in Excel über Datei -> Importieren, bei OpenOffice einfach direkt öffnen) und die Spalten beschriften und die Zeilen neu sortieren (am Besten nach der Nummer)
Beim Import ist es wichtig, dass man den Spalten richtige Typen (Datum, Text, etc.) zuweist, da - vor allem bei Telefonnummern ärgerlich - diese sonst als Zahlen interpretiert werden.

Gruß comfreak
 

heidelbeer

Erdapfel
Registriert
16.07.12
Beiträge
2
Hallo,

ich befinde mich in einer recht ähnlichen Situation: Ich versuche die von meinem iPhone 4S gelöschten SMS aus einem alten Backup wiederherzustellen. Die Datei sms.db habe ich mit JuicePhone (http://addpod.com/juicephone) extrahiert. Um diese nun aber leserlich zu machen, habe ich mich durch etliche Foren gelesen und bin hier auf die verheissungsvollste Lösung gestossen. Nur hat es bei mir bisher noch nicht geklappt.
Wenn ich den Befehl von comfreak eingebe, so passiert lediglich das:

Jamins-MacBook:~ Jamin$ sqlite3
SQLite version 3.7.7 2011-06-25 16:35:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> -csv -header sms.db "select address, flags, datetime(date,'unixepoch','localtime ') as date,replace(text,X'0A',' ') from message" > sms.csv
...>

Da meine Informatikkenntnisse sehr beschränkt sind, weiss ich nicht weiter und wäre froh um jede Hilfe!

Gruß
heidelbeer
 

heidelbeer

Erdapfel
Registriert
16.07.12
Beiträge
2
Ok, schon hat sich die Situation verändert! :)
Ich habe SQLite3 von hier (http://www.sqlite.org/sqlite-shell-osx-x86-3070900.zip) heruntergeladen und es einfach im Download Ordner stehen lassen und dann den von comfreak zuletzt geposteten Befehl eingegeben – und siehe da, im Benutzerordner taucht sms.csv auf!
Ich habe nun also alle meine SMS im Exel, wie gewünscht. Danke!

Nur ist meine Arbeit damit aber noch nicht wirklich erledigt, und vielleicht hat mir jemand auch da noch ein praktischer Tipp.
Ich habe nämlich nur Interesse an einer Konversation und hätte gerne meine geschrieben SMS wie auch die Antworten darauf in der originalen Reihenfolge.
Wüsste mir da jemand zu helfen?
 

Martin Wendel

Redakteur & Moderator
AT Administration
AT Moderation
AT Redaktion
Registriert
06.04.08
Beiträge
45.136
  • Like
Reaktionen: Genuine-G

wdominik

Weißer Winterglockenapfel
Registriert
15.01.10
Beiträge
880
Mit iOS 6.0 hat sich die Struktur der Datenbank verändert. Mit Hilfe des folgenden Selektors funktioniert es wieder:

Code:
sqlite3 -csv -header sms.db "select id as Kontakt, replace(replace(is_from_me, '0', 'eingehend'), '1', 'ausgehend') as Richtung, datetime(date, 'unixepoch', '31 years', 'localtime') as Datum, replace(text, X'0a', ' ') as Nachricht from message inner join handle on message.handle_id=handle.ROWID order by date;" > sms.csv
 
Zuletzt bearbeitet:

Martin Wendel

Redakteur & Moderator
AT Administration
AT Moderation
AT Redaktion
Registriert
06.04.08
Beiträge
45.136
Danke, Dominik. Sobald man im Wiki die Beiträge wieder bearbeiten kann, werde ich das Tutorial um die iOS6-Lösung ergänzen!