Repository navigation
Expand file tree
/
Copy pathcacheRoutesGmap.py
More file actions
52 lines (45 loc) · 1.95 KB
/
Copy pathcacheRoutesGmap.py
File metadata and controls
52 lines (45 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import glob
import plistlib
import os
import datetime
import scripts.artifacts.artGlobals
from packaging import version
from scripts.artifact_report import ArtifactHtmlReport
from scripts.ilapfuncs import logfunc, logdevinfo, kmlgen, timeline, tsv, is_platform_windows
def get_cacheRoutesGmap(files_found, report_folder, seeker, wrap_text):
data_list = []
for file_found in files_found:
file_found = str(file_found)
filename = os.path.basename(file_found)
noext = os.path.splitext(filename)[0]
noext = int(noext)
datetime_time = datetime.datetime.fromtimestamp(noext/1000)
datetime_time = str(datetime_time)
with open(file_found, 'rb') as f:
deserialized = plistlib.load(f)
length = len(deserialized['$objects'])
for x in range(length):
try:
lat = deserialized['$objects'][x]['_coordinateLat']
lon = deserialized['$objects'][x]['_coordinateLong'] #lat longs
data_list.append((datetime_time, lat, lon, file_found))
except:
pass
if len(data_list) > 0:
description = 'Google Maps Cache Routes'
report = ArtifactHtmlReport('Locations')
report.start_artifact_report(report_folder, 'Google Maps Cache Routes', description)
report.add_script()
data_headers = ('Timestamp','Latitude','Longitude','Source File')
report.write_artifact_data_table(data_headers, data_list, file_found)
report.end_artifact_report()
tsvname = 'Google Maps Cache Routes'
tsv(report_folder, data_headers, data_list, tsvname)
kmlactivity = 'Google Maps Cache Routes'
kmlgen(report_folder, kmlactivity, data_list, data_headers)
__artifacts__ = {
"cacheroutesgmap": (
"Locations",
('**/Library/Application Support/CachedRoutes/*.plist'),
get_cacheRoutesGmap)
}