From b25cc48be01e818bbd7dec7bf4a8cba7d2c8912e Mon Sep 17 00:00:00 2001 From: tek Date: Mon, 6 Dec 2021 15:04:52 +0100 Subject: [PATCH] Fixes issue in Safari Browser State for older iOS versions --- mvt/ios/modules/mixed/safari_browserstate.py | 31 +++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/mvt/ios/modules/mixed/safari_browserstate.py b/mvt/ios/modules/mixed/safari_browserstate.py index 14de1ff..66461dd 100644 --- a/mvt/ios/modules/mixed/safari_browserstate.py +++ b/mvt/ios/modules/mixed/safari_browserstate.py @@ -59,17 +59,26 @@ class SafariBrowserState(IOSExtraction): conn = sqlite3.connect(db_path) cur = conn.cursor() - cur.execute(""" - SELECT - tabs.title, - tabs.url, - tabs.user_visible_url, - tabs.last_viewed_time, - tab_sessions.session_data - FROM tabs - JOIN tab_sessions ON tabs.uuid = tab_sessions.tab_uuid - ORDER BY tabs.last_viewed_time; - """) + try: + cur.execute(""" + SELECT + tabs.title, + tabs.url, + tabs.user_visible_url, + tabs.last_viewed_time, + tab_sessions.session_data + FROM tabs + JOIN tab_sessions ON tabs.uuid = tab_sessions.tab_uuid + ORDER BY tabs.last_viewed_time; + """) + except sqlite3.OperationalError: + # Old version iOS <12 likely + cur.execute(""" + SELECT + title, url, user_visible_url, last_viewed_time, session_data + FROM tabs + ORDER BY last_viewed_time; + """) for row in cur: session_entries = []