Topics

Wednesday, April 20, 2011

MyPhoneTracker - analyze iPhone and Android tracking databases

MyPhoneTracker, an application brought to you by this blog, allows you to visualize the location tracking database of iPhones and Androids on a interactive map.

Be aware that the data the devices collect are determined through cell tower triangulation so its by far not 100% correct.

You can import the database from a local iTunes Backup, the application will display all backups for your devices ordered by date.
Or load the file from an actual iPhone (jailbreak required). The file is named "consolidated.db" and you find it inside "/private/var/root/Library/Caches/locationd/consolidated.db".

For Android devices the file is called "cache.cell" for cell determined locations and "cache.wifi" for WiFi determined locations.
You can find the file(s) inside the folder "/data/data/com.google.android.location/files".

The tracked locations are visualized through markers and colored dots.
A dot indicates that inside the displayed area more then 1 location was tracked. The number inside the dot tells you how many times your location inside this area was saved. Click a dot to zoom in and get a more detailed view till you see the exact marked locations.

MyPhoneTracker allows you to import data from iTunes/iPhone and Android OS.

You can open an existing location database, import more data from the consolidated.db and save it again. This way you can keep track of your locations even with the iOS 4.3.3 limitation of only 7 days location location data.

Aren't Apple tracking all Iphones anyway, heard it on the UK news, it's even in the 15,000 word contract/terms and conditions and is given to third parties but without your details/name. Tracks everywhere you go to, all locations.

on each table of consolidated.db (being curious),I saw errors like the following:SELECT COUNT(*) FROM CdmaCellLocationBoxes;SQL error near line 3: no such module: rtreeSELECT COUNT(*) FORM CdmaCellLocationLocalBoxes;SQL error near line 11: no such module: rtreeSELECT COUNT(*) FORM CellLocationBoxes;SQL error near line 18: no such module: rtree

Using the version of sqlite3 from MacPorts ratherthan the one that comes with the Mac let me count thosetoo; they had the same number of rows as the correspondingtable whose name did not end in "Boxes".

Some googling told me that apparently the version of sqlite3with the Mac is not compiled with the RTREE option. I thinkperhaps, but haven't looked that far yet, that there may besome trade-off that explains why the default version wasn'tcompiled with that option.

So if there's ever a reason to access those tables, you mayneed to supply your own build of sqlite3.

I also saw that in addition to CdmaCellLocation (with 642records on my copy of consolidated.db), there's alsoCdmaCellLocationLocal, with 155 records. The layout ofthose two tables is the same. The highest timestamp is inCdmaCellLocationLocal, about 53341 higher than the highest inCdmaCellLocation. But I have no idea what the difference isin the _meaning_ of those two tables.