SNAPCHAT
Dati personali
file /data/data/com.snapchat/android/shared_prefs/com.snapchat.android_preferences.xml contiene preferenze dell'utente, i campi interessanti identificati sono:
...
1991-04-04
...
jeff@grr.la
...
jeffmills9999
...
jeffmills9999
APA91bFx7wTdrnFPn3yfkQH98pXc5bxKos8OlJ1E13kGOgDMunMDR736JHfigVlTMpuy7SSvgC1It7P5ISDrdxWQksriHwGYjz-dx-ZRjuGEK12CjNbV83DPCkd7A2dHGZqUpKos0cOXkdq8D8TzCQmlGsDS1hac0w
...
NjEzNjpqZWZmbWlsbHM5OTk5
...
60db1b67-346f-4c71-a0de-33715d07ee30
...
jeff@grr.la
...
{}
Contatti
la logica dietro i contatti è molto simile a quella di Twitter, ogni utente può decidere chi aggiungere tra i propri contatti, un utente può aggiungere un altro senza che l'altro lo aggiunga a sua volta.
per questo motivo compaiono due tabelle distinte per gestire gli amici: FriendsWhoAddedMe e Friends.
CREATE TABLE FriendsWhoAddedMe (_id INTEGER PRIMARY KEY,Username TEXT,DisplayName TEXT,PhoneNumber TEXT,BestFriendIndex INTEGER,RecentFriendIndex INTEGER,IsBlocked INTEGER,IsPending INTEGER,IsDuplicateDisplayName INTEGER,isAddedAsFriend INTEGER,AddedMeTimestamp INTEGER);
INSERT INTO "FriendsWhoAddedMe" VALUES(1,'testardissimo','','',-1,-1,0,0,0,0,1400745513482);
INSERT INTO "FriendsWhoAddedMe" VALUES(2,'wolli_9999','','',-1,-1,0,0,0,1,1399159939955);
CREATE TABLE Friends (_id INTEGER PRIMARY KEY,Username TEXT,DisplayName TEXT,PhoneNumber TEXT,BestFriendIndex INTEGER,RecentFriendIndex INTEGER,IsBlocked INTEGER,IsPending INTEGER,IsDuplicateDisplayName INTEGER,isAddedAsFriend INTEGER,AddedMeTimestamp INTEGER);
INSERT INTO "Friends" VALUES(1,'jeffmills9999','','',-1,-1,0,0,0,0,0);
INSERT INTO "Friends" VALUES(2,'teamsnapchat','Team Snapchat','',-1,1,0,0,0,0,0);
INSERT INTO "Friends" VALUES(3,'wolli_9999','','',-1,0,0,0,0,0,0);
Messaggi
I messaggi vengono storati in chiaro nelal tabella Chat. Vengono identificati i due utenti (recipient, sender), il messaggio (text) e se l'utente ha inviato o ricevuto il messaggio (send_receive_status) RECEIVED/SENT.
CREATE TABLE Chat (_id TEXT PRIMARY KEY, type TEXT, ack_id TEXT, recipient TEXT, sender TEXT, is_saved_by_sender INTEGER, is_saved_by_recipient INTEGER, is_released_by_recipient INTEGER, send_receive_status TEXT, timestamp INTEGER, seq_num INTEGER, text TEXT, media_id TEXT, key TEXT, iv TEXT, conversation_id TEXT, sender_message_state_version INTEGER, recipient_message_state_version INTEGER, iter_token TEXT, has_links INTEGER, target_view TEXT, released_timestamp INTEGER);
INSERT INTO "Chat" VALUES('dec23fad-4f0f-4859-af48-58a9a9d4fc2a','text',NULL,'paker999','avdgangsta',0,0,1,'RECEIVED',1401180963924,1,'Ciao john wotsap',NULL,NULL,NULL,'avdgangsta~paker999',0,0,NULL,0,'CHAT',1401180965336);
INSERT INTO "Chat" VALUES('06eb809b-2243-452b-9e24-7a92427c2166','text','f5ddaf8e-cb41-445b-aa9d-10be9ca4825f','avdgangsta','paker999',0,0,1,'SENT',1401181051665,2,'Pewpewpew',NULL,NULL,NULL,'avdgangsta~paker999',0,0,NULL,0,'CHAT_AND_FEED',1401181051995);
Snap
CREATE TABLE SentSnaps (_id INTEGER PRIMARY KEY,SnapId TEXT,Timestamp INTEGER,MediaType INTEGER,Status TEXT,Recipient TEXT,DisplayTime TEXT,Uri TEXT,IsFailed INTEGER,TimeOfLastSendAttempt INTEGER,IsZipped INTEGER);
INSERT INTO "SentSnaps" VALUES(1,'168560399159545089s',1400597674000,0,'SENT_AND_OPENED','jeffmills9999','0','',0,1400745637713,0);
INSERT INTO "SentSnaps" VALUES(2,'171383399159056169s',1399159345000,0,'SENT_AND_OPENED','jeffmills9999','0','',0,1400745637713,0);
INSERT INTO "SentSnaps" VALUES(3,'46952398339745651s',1399158725089,0,'SENT_AND_OPENED','jeffmills9999','0','',0,1400745637713,0);
INSERT INTO "SentSnaps" VALUES(4,'69344400683049131s',1400683172000,1,'SENT_AND_OPENED','wolli_9999','0','',0,1400745637713,0);
INSERT INTO "SentSnaps" VALUES(5,'728844399159389847s',1399159402000,1,'SENT_AND_OPENED','jeffmills9999','0','',0,1400745637713,0);
CREATE TABLE ReceivedSnaps (_id INTEGER PRIMARY KEY,SnapId TEXT,Timestamp INTEGER,MediaType INTEGER,Zipped INTEGER,Status TEXT,Sender TEXT,DisplayTime INTEGER,CaptionText TEXT,CaptionOrientation INTEGER,CaptionPosition REAL,IsViewed INTEGER,IsScreenshotted INTEGER,IsUpdated INTEGER,ViewedTimestamp INTEGER);
INSERT INTO "ReceivedSnaps" VALUES(1,'106034399160432879r',1399160432879,0,0,'RECEIVED_AND_VIEWED','wolli_9999',0,'',0,0.0,1,0,1400745687040,1);
INSERT INTO "ReceivedSnaps" VALUES(2,'168560399159545089r',1399159545089,0,0,'RECEIVED_AND_VIEWED','jeffmills9999',0,'',0,0.0,1,0,1400745687041,1);
INSERT INTO "ReceivedSnaps" VALUES(3,'171383399159056169r',1399159056169,0,0,'RECEIVED_AND_VIEWED','jeffmills9999',0,'',0,0.0,1,0,1400745687043,1);
INSERT INTO "ReceivedSnaps" VALUES(4,'343573400683733744r',1400683733744,0,0,'RECEIVED_AND_VIEWED','wolli_9999',0,'',0,0.0,1,0,1400745687038,1);
INSERT INTO "ReceivedSnaps" VALUES(5,'46952398339745651r',1398339745651,0,0,'RECEIVED_AND_VIEWED','jeffmills9999',0,'',0,0.0,1,0,1400745687045,1);
INSERT INTO "ReceivedSnaps" VALUES(6,'520107398335485142r',1398335485142,0,0,'RECEIVED_AND_VIEWED','teamsnapchat',0,'',0,0.0,1,0,1400745687045,1);
INSERT INTO "ReceivedSnaps" VALUES(7,'625037398946706706r',1398946706706,1,0,'RECEIVED_AND_VIEWED','teamsnapchat',0,'',0,0.0,1,0,1400745687044,1);
INSERT INTO "ReceivedSnaps" VALUES(8,'728844399159389847r',1399159389847,1,1,'RECEIVED_AND_VIEWED','jeffmills9999',0,'',0,0.0,1,0,1400745687042,1);
INSERT INTO "ReceivedSnaps" VALUES(9,'87809399159993517r',1399159993517,0,0,'RECEIVED_AND_VIEWED','wolli_9999',0,'',0,0.0,1,0,1400745687041,1);
CREATE TABLE ViewingSessions (_id INTEGER PRIMARY KEY,SnapId TEXT,Sender TEXT,StartTime INTEGER,EndTime INTEGER);
INSERT INTO "ViewingSessions" VALUES(1,'343573400683733744r','wolli_9999',1400683743912,1400683747201);
INSERT INTO "ViewingSessions" VALUES(2,'343573400683733744r','wolli_9999',1400683749292,1400683750012);
CREATE TABLE SnapImageFiles (_id INTEGER PRIMARY KEY,SnapId TEXT,FilePath TEXT);
INSERT INTO "SnapImageFiles" VALUES(1,'343573400683733744r','/data/data/com.snapchat.android/cache/received_image_snaps/h1a81hurcs00h1400683710042.jpg.nomedia');
I messaggi vengono salvati offuscati/zippati in qualche modo.