Skip to content

Commit 5ac230d

Browse files
authored
Merge pull request abrignoni#72 from abrignoni/TileApp
Tile App geololocation coordinates from log files
2 parents 72598e7 + 6ecd3dd commit 5ac230d

File tree

3 files changed

+61
-3
lines changed

3 files changed

+61
-3
lines changed

scripts/artifacts/tileApp.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import gzip
2+
import re
3+
import os
4+
import scripts.artifacts.artGlobals
5+
6+
from packaging import version
7+
from scripts.artifact_report import ArtifactHtmlReport
8+
from scripts.ilapfuncs import logfunc, logdevinfo, timeline, tsv, is_platform_windows
9+
10+
11+
def get_tileApp(files_found, report_folder, seeker):
12+
data_list = []
13+
14+
for file_found in files_found:
15+
file_found = str(file_found)
16+
17+
if file_found.endswith('gz'):
18+
x=gzip.open
19+
elif file_found.endswith('log'):
20+
x=open
21+
22+
counter = 0
23+
with x(file_found,'rt',) as f:
24+
for line in f:
25+
regexdate = r"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}.\d{3}"
26+
datestamp = re.search(regexdate, line)
27+
counter +=1
28+
if datestamp != None:
29+
datestamp = datestamp.group(0)
30+
regexlatlong = r"<[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)>"
31+
latlong = re.search(regexlatlong, line)
32+
if latlong != None:
33+
latlong = latlong.group(0)
34+
latlong = latlong.strip('<')
35+
latlong = latlong.strip('>')
36+
lat, longi = latlong.split(',')
37+
head_tail = os.path.split(file_found)
38+
data_list.append((datestamp, lat.lstrip(), longi.lstrip(), counter, head_tail[1]))
39+
40+
if len(data_list) > 0:
41+
description = 'Tile app log recorded langitude and longitude coordinates.'
42+
report = ArtifactHtmlReport('Locations')
43+
report.start_artifact_report(report_folder, 'Tile App Geolocation Logs', description)
44+
report.add_script()
45+
data_headers = ('Timestamp', 'Latitude', 'Longitude', 'Row Number', 'Source File' )
46+
report.write_artifact_data_table(data_headers, data_list, head_tail[0])
47+
report.end_artifact_report()
48+
49+
tsvname = 'Tile App Lat Long'
50+
tsv(report_folder, data_headers, data_list, tsvname)
51+
52+
tlactivity = 'Tile App Lat Long'
53+
timeline(report_folder, tlactivity, data_list)
54+
55+

scripts/ilap_artifacts.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@
134134
from scripts.artifacts.geodMapTiles import get_geodMapTiles
135135
from scripts.artifacts.geodPDPlaceCache import get_geodPDPlaceCache
136136
from scripts.artifacts.geodApplications import get_geodApplications
137+
from scripts.artifacts.tileApp import get_tileApp
137138

138139
from scripts.ilapfuncs import *
139140

@@ -205,7 +206,8 @@
205206
'mediaLibrary':('Media Library', '**/Medialibrary.sqlitedb'),
206207
'geodMapTiles': ('Geolocation', '**/MapTiles.sqlitedb'),
207208
'geodPDPlaceCache': ('Geolocation', '**/PDPlaceCache.db'),
208-
'geodApplications': ('Geolocation', '**/AP.db')
209+
'geodApplications': ('Geolocation', '**/AP.db'),
210+
'tileApp': ('Locations', '*private/var/mobile/Containers/Data/Application/*/Library/log/com.thetileapp.tile*')
209211
}
210212

211213
'''

scripts/version_info.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
aleapp_version = '1.5'
1+
aleapp_version = '1.5.1'
22

33
# Contributors List
44
# Format = [ Name, Blog-url, Twitter-handle, Github-url]
@@ -23,6 +23,7 @@
2323
[ 'Douglas Kein', '', '@DouglasKein', ''],
2424
[ 'Claudia Meda', '', '@KlodiaMaida', 'https://github.com/KlodiaMaida'],
2525
[ 'Silvia Spallarossa', '', '@SilviaSpallaro1', 'https://github.com/spatimbs'],
26-
[ 'Francesca Maestri', '', '@franc3sca_m', 'https://github.com/francyM']
26+
[ 'Francesca Maestri', '', '@franc3sca_m', 'https://github.com/francyM'],
27+
[ 'Christopher Vance', 'https://blog.d204n6.com/', '@cScottVance', 'https://github.com/cScottVance']
2728

2829
]

0 commit comments

Comments
 (0)