Quel type de base de données est la base de données SMS iOS 5?

9

J'ai littéralement essayé de casser ça pendant une heure. Avec les versions précédentes d'iOS, la base de données était un simple fichier sqlite et pouvait être ouverte avec n'importe quel utilitaire sqlite. J'ai vraiment besoin d'accéder à ces messages et je ne sais pas comment ouvrir la base de données.

Remarque: J'ai retiré le fichier de la sauvegarde iTunes.

deftonix
la source
1
Si vous regardez l'en-tête du fichier ici , il est clair qu'il s'agit d'une sorte de fichier SQLite mutilé. Ce qui n'est pas clair, c'est comment il a été mutilé. L'outil de http://insend.de/ , qui décode la base de données, prétend que le fichier est une liste binaire. Ils sont une brève description est près du bas de la page.
deftonix
C'est vraiment une bonne trouvaille. J'attends juste que quelqu'un vienne avec un outil gratuit pour décoder ces nouveaux fichiers db. J'ai commencé à les sauvegarder chaque mois, j'ai donc tous mes messages que je dois maintenant supprimer ...
Avez-vous essayé la commande "file file.name" dans le terminal? Cela essaierait de deviner le type de fichier, et n'a presque jamais eu tort avec moi jusqu'à présent. Au moins, vous sauriez par où commencer.
ismail

Réponses:

3

J'ai extrait mon fichier sms.db de mon iPhone 4S exécutant iOS 5.0.1 (hors système en direct à l'aide de scp) et j'ai pu parcourir la base de données comme d'habitude en utilisant le client sqlite inclus avec OSX Lion. Il est possible que le format actuel soit en quelque sorte incompatible avec les anciennes versions du client. La version du client incluse avec Lion est 3.7.7:

$ sqlite3 sms.db
SQLite version 3.7.7 2011-06-25 16:35:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /Users/tyr/sms.db                                         
sqlite> .tables
_SqliteDatabaseProperties  message                  
drafts                     msg_group                
group_member               msg_pieces               
madrid_attachment          settings                 
madrid_chat                templates                
sqlite> select * from settings ;
1|version|2.0.0
2|notificationCode|*N#
3|useNotifications|0
4|isDefault|1
5|compatibilityMode|0
6|useKeybCorr|1
7|useKeybCapi|1
8|useConfirmSend|1
9|nameorder|0
10|useShowAlerts|1
11|useStatusIcon|1
12|landscape|0
13|appSerial|0
14|lastMenu|0
sqlite> 
Tyr
la source
1

Vous avez raison - cela ressemble à un fichier SQLite. L'en-tête ressemble à un fichier SQLite 3 que j'ai consulté:

SQLite format 3^@^P^

Je suppose que vous avez essayé la version 3 de SQLite?

http://www.sqlite.org/version3.html

dkam
la source
1

Il semble que le format de base de données SQLite 3 ait quelque chose que certains clients n'aiment pas.

Sous Windows, vous pouvez extraire les données avec SQLite3Explorer http://www.singular.gr/sqlite/

apoz
la source
1

Pour les utilisateurs de Windows, si quelqu'un a encore des problèmes pour lire ios 5, la base de données sms, téléchargez une application administrateur sqlite à partir d'ici mais ... remplacez sa dll sqlite depuis le site org sqlite

Agung Sagita
la source
0

Une autre approche consiste à utiliser un logiciel tiers - j'ai utilisé DiskAid pour accéder à mes SMS. DiskAid copie tous les messages dans un fichier texte plat, qui peut ou non servir vos objectifs!

Hoipe cela aide quelqu'un - ma réponse répond au besoin déclaré, plutôt qu'à la question principale:

"J'ai vraiment besoin d'accéder à ces messages et je ne sais pas comment ouvrir la base de données."

ptim
la source