Nachdem ich ja gestern über den Sinn und Zweck der Datenbank, in dem auch die chronologischen Ortsdaten enthalten sind geschrieben habe, möchte ich das ganze noch durch ein paar neu gewonnene Erkenntnisse ergänzen.
- Die Daten werden nicht erhoben, wenn die Ortung in den Einstellungen ausgeschaltet ist
- Die Zeitdaten enthalten nur Informationen über den Tag, nicht aber über die Stunde oder noch genauere Zeitinformationen
- In der Datenbank sind weiterhin noch gecachte Informationen über die Standorte von gesehenen WLANs und Celltowers enthalten.
Kurz zur Methodik wie ich das ganze herausgefunden habe. Ich habe mir das Projekt von Github gezogen ( https://github.com/petewarden/iPhoneTracker ) und in XCode geöffnet. Dann habe ich mir den Pfad zur SQLite Datei ausgeben lassen. Dazu habe ich in der Methode
– (BOOL)tryToLoadLocationDB:(NSString*) locationDBPath forDevice:(NSString*) deviceName
in iPhoneTrackingAppDelegate.m die Zeile
NSLog(@“DatabasePath : %@“, locationDBPath);
hinzugefügt. Die Datenbankdatei wird dann auf der Konsole ausgegeben. Man kann sie dementsprechend auch mit SQLite selbst öffnen und inspizieren.
Weiterhin habe ich in der selben Methode auch die Timestamps ausgeben lassen und somit festgestellt, dass an dem Tag wo ich die Ortung in den Einstellungen des iPhones ausgestellt hatte auch keine Daten erhoben wurden. Auch dass die Zeitstempel keine zu verwendende Stunde-/Minute-Information enthalten sieht man hier.
Pingback: Consolidated.db | Kennys blog
Kannst Du mir einen Tipp geben, wie man die SQLite-DB selbst auswerten kann (notfalls per
sqlite3
auf im Terminal).Wie beschrieben den Pfad zu dem File aus dem Backup herausfinden und dann mit SQLiteBrowser (oder per homebrew o.Ä. selbst installiertem sqlite3) öffnen und drin rumstöbern.
Argh, habe das entsprechend Deinen Angaben gepatchte Programm erst nicht zum Laufen gebracht, weil der Text im Blogposting die falschen Anführungszeichen enthält und dies nach Übertrag in den Code per CopyPasta beim Build zu einem wüsten Fehler geführt hat…
Wie bekomme ich den Timestamp konvertiert? Tools für den Unix-Timestamp scheitern (zumal es kein Unixtimestamp sein sollte, weil es eine Dezinalzahl ist).
Schau am besten mal in den Quellcode der iPhoneTracker app in das erwähnte File. Dort ist die Umwandlung drin. Wenn ich mich richtig erinnere ist es ein Unix-Timestamp – 01.01.2001 oder so. Aber schau mal in den Source da findest du es.
Aha, das erklärt, weshalb die Konvertierungstools für Unixtimestamps immer auf Daten in 1979 gekommen sind.
Mich wundert, dass die Timestamps Nachkommastellen haben. Dachte immer, dass der Unixtimestamp eine Long(?)Integer sei.