diff --git a/mvt/__init__.py b/mvt/__init__.py index 0e4a492..9968a57 100644 --- a/mvt/__init__.py +++ b/mvt/__init__.py @@ -1,4 +1,4 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/__init__.py b/mvt/android/__init__.py index 24eb23d..73dc627 100644 --- a/mvt/android/__init__.py +++ b/mvt/android/__init__.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/cli.py b/mvt/android/cli.py index 9e2ea55..00057a8 100644 --- a/mvt/android/cli.py +++ b/mvt/android/cli.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ @@ -31,6 +31,7 @@ LOG_FORMAT = "[%(name)s] %(message)s" logging.basicConfig(level="INFO", format=LOG_FORMAT, handlers=[ RichHandler(show_path=False, log_time_format="%X")]) log = logging.getLogger(__name__) +CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help']) #============================================================================== @@ -52,7 +53,8 @@ def version(): #============================================================================== # Command: download-apks #============================================================================== -@cli.command("download-apks", help="Download all or only non-system installed APKs") +@cli.command("download-apks", help="Download all or only non-system installed APKs", + context_settings=CONTEXT_SETTINGS) @click.option("--serial", "-s", type=str, help=HELP_MSG_SERIAL) @click.option("--all-apks", "-a", is_flag=True, help="Extract all packages installed on the phone, including system packages") @@ -101,7 +103,8 @@ def download_apks(ctx, all_apks, virustotal, output, from_file, serial): #============================================================================== # Command: check-adb #============================================================================== -@cli.command("check-adb", help="Check an Android device over adb") +@cli.command("check-adb", help="Check an Android device over adb", + context_settings=CONTEXT_SETTINGS) @click.option("--serial", "-s", type=str, help=HELP_MSG_SERIAL) @click.option("--iocs", "-i", type=click.Path(exists=True), multiple=True, default=[], help=HELP_MSG_IOC) @@ -131,7 +134,8 @@ def check_adb(ctx, serial, iocs, output, fast, list_modules, module): #============================================================================== # Command: check-bugreport #============================================================================== -@cli.command("check-bugreport", help="Check an Android Bug Report") +@cli.command("check-bugreport", help="Check an Android Bug Report", + context_settings=CONTEXT_SETTINGS) @click.option("--iocs", "-i", type=click.Path(exists=True), multiple=True, default=[], help=HELP_MSG_IOC) @click.option("--output", "-o", type=click.Path(exists=False), @@ -162,7 +166,8 @@ def check_bugreport(ctx, iocs, output, list_modules, module, bugreport_path): #============================================================================== # Command: check-backup #============================================================================== -@cli.command("check-backup", help="Check an Android Backup") +@cli.command("check-backup", help="Check an Android Backup", + context_settings=CONTEXT_SETTINGS) @click.option("--iocs", "-i", type=click.Path(exists=True), multiple=True, default=[], help=HELP_MSG_IOC) @click.option("--output", "-o", type=click.Path(exists=False), @@ -191,7 +196,8 @@ def check_backup(ctx, iocs, output, list_modules, backup_path): #============================================================================== # Command: check-androidqf #============================================================================== -@cli.command("check-androidqf", help="Check data collected with AndroidQF") +@cli.command("check-androidqf", help="Check data collected with AndroidQF", + context_settings=CONTEXT_SETTINGS) @click.option("--iocs", "-i", type=click.Path(exists=True), multiple=True, default=[], help=HELP_MSG_IOC) @click.option("--output", "-o", type=click.Path(exists=False), @@ -222,7 +228,8 @@ def check_androidqf(ctx, iocs, output, list_modules, module, hashes, androidqf_p #============================================================================== # Command: check-iocs #============================================================================== -@cli.command("check-iocs", help="Compare stored JSON results to provided indicators") +@cli.command("check-iocs", help="Compare stored JSON results to provided indicators", + context_settings=CONTEXT_SETTINGS) @click.option("--iocs", "-i", type=click.Path(exists=True), multiple=True, default=[], help=HELP_MSG_IOC) @click.option("--list-modules", "-l", is_flag=True, help=HELP_MSG_LIST_MODULES) @@ -243,7 +250,8 @@ def check_iocs(ctx, iocs, list_modules, module, folder): #============================================================================== # Command: download-iocs #============================================================================== -@cli.command("download-iocs", help="Download public STIX2 indicators") +@cli.command("download-iocs", help="Download public STIX2 indicators", + context_settings=CONTEXT_SETTINGS) def download_indicators(): ioc_updates = IndicatorsUpdates() ioc_updates.update() diff --git a/mvt/android/cmd_check_adb.py b/mvt/android/cmd_check_adb.py index 9fb161f..e873ba0 100644 --- a/mvt/android/cmd_check_adb.py +++ b/mvt/android/cmd_check_adb.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/cmd_check_androidqf.py b/mvt/android/cmd_check_androidqf.py index ea88b52..d0d81dd 100644 --- a/mvt/android/cmd_check_androidqf.py +++ b/mvt/android/cmd_check_androidqf.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/cmd_check_backup.py b/mvt/android/cmd_check_backup.py index 6315dd4..cf27c46 100644 --- a/mvt/android/cmd_check_backup.py +++ b/mvt/android/cmd_check_backup.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/cmd_check_bugreport.py b/mvt/android/cmd_check_bugreport.py index 465eded..a86b5ea 100644 --- a/mvt/android/cmd_check_bugreport.py +++ b/mvt/android/cmd_check_bugreport.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/cmd_download_apks.py b/mvt/android/cmd_download_apks.py index 0174455..d32dcfd 100644 --- a/mvt/android/cmd_download_apks.py +++ b/mvt/android/cmd_download_apks.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/__init__.py b/mvt/android/modules/__init__.py index 0e4a492..9968a57 100644 --- a/mvt/android/modules/__init__.py +++ b/mvt/android/modules/__init__.py @@ -1,4 +1,4 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/__init__.py b/mvt/android/modules/adb/__init__.py index 7d5be65..c9e65e0 100644 --- a/mvt/android/modules/adb/__init__.py +++ b/mvt/android/modules/adb/__init__.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/base.py b/mvt/android/modules/adb/base.py index 61d6518..017a9b6 100644 --- a/mvt/android/modules/adb/base.py +++ b/mvt/android/modules/adb/base.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/chrome_history.py b/mvt/android/modules/adb/chrome_history.py index 973628a..7d0a437 100644 --- a/mvt/android/modules/adb/chrome_history.py +++ b/mvt/android/modules/adb/chrome_history.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/dumpsys_accessibility.py b/mvt/android/modules/adb/dumpsys_accessibility.py index 7eb993f..1c6337c 100644 --- a/mvt/android/modules/adb/dumpsys_accessibility.py +++ b/mvt/android/modules/adb/dumpsys_accessibility.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/dumpsys_activities.py b/mvt/android/modules/adb/dumpsys_activities.py index e27c6e4..6919991 100644 --- a/mvt/android/modules/adb/dumpsys_activities.py +++ b/mvt/android/modules/adb/dumpsys_activities.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/dumpsys_appops.py b/mvt/android/modules/adb/dumpsys_appops.py index a268623..3ce43df 100644 --- a/mvt/android/modules/adb/dumpsys_appops.py +++ b/mvt/android/modules/adb/dumpsys_appops.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/dumpsys_battery_daily.py b/mvt/android/modules/adb/dumpsys_battery_daily.py index 42ed9a0..28b9100 100644 --- a/mvt/android/modules/adb/dumpsys_battery_daily.py +++ b/mvt/android/modules/adb/dumpsys_battery_daily.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/dumpsys_battery_history.py b/mvt/android/modules/adb/dumpsys_battery_history.py index 73c4129..9ed77d9 100644 --- a/mvt/android/modules/adb/dumpsys_battery_history.py +++ b/mvt/android/modules/adb/dumpsys_battery_history.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/dumpsys_dbinfo.py b/mvt/android/modules/adb/dumpsys_dbinfo.py index 8a01da8..01c0561 100644 --- a/mvt/android/modules/adb/dumpsys_dbinfo.py +++ b/mvt/android/modules/adb/dumpsys_dbinfo.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/dumpsys_full.py b/mvt/android/modules/adb/dumpsys_full.py index 2275be4..2e2064b 100644 --- a/mvt/android/modules/adb/dumpsys_full.py +++ b/mvt/android/modules/adb/dumpsys_full.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/dumpsys_receivers.py b/mvt/android/modules/adb/dumpsys_receivers.py index e97766e..447df3d 100644 --- a/mvt/android/modules/adb/dumpsys_receivers.py +++ b/mvt/android/modules/adb/dumpsys_receivers.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/files.py b/mvt/android/modules/adb/files.py index 0ae138f..5c98c46 100644 --- a/mvt/android/modules/adb/files.py +++ b/mvt/android/modules/adb/files.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ @@ -83,12 +83,13 @@ class Files(AndroidExtraction): cmd = f"find '{folder}' -type f -printf '%T@ %m %s %u %g %p\n' 2> /dev/null" output = self._adb_command(cmd) - if output.strip() == "": - return - for file_line in output.splitlines(): + file_info = file_line.rstrip().split(" ", 5) + if len(file_line) < 6: + self.log.info("Skipping invalid file info - %s", file_line.rstrip()) + continue [unix_timestamp, mode, size, - owner, group, full_path] = file_line.rstrip().split(" ", 5) + owner, group, full_path] = file_info mod_time = convert_unix_to_iso(unix_timestamp) self.results.append({ diff --git a/mvt/android/modules/adb/getprop.py b/mvt/android/modules/adb/getprop.py index 59cac29..d603dd0 100644 --- a/mvt/android/modules/adb/getprop.py +++ b/mvt/android/modules/adb/getprop.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/logcat.py b/mvt/android/modules/adb/logcat.py index 86bd2cc..5ce46e9 100644 --- a/mvt/android/modules/adb/logcat.py +++ b/mvt/android/modules/adb/logcat.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/packages.py b/mvt/android/modules/adb/packages.py index 2b01be1..5012f43 100644 --- a/mvt/android/modules/adb/packages.py +++ b/mvt/android/modules/adb/packages.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/processes.py b/mvt/android/modules/adb/processes.py index ea92442..10cb1be 100644 --- a/mvt/android/modules/adb/processes.py +++ b/mvt/android/modules/adb/processes.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/root_binaries.py b/mvt/android/modules/adb/root_binaries.py index 33db700..4629328 100644 --- a/mvt/android/modules/adb/root_binaries.py +++ b/mvt/android/modules/adb/root_binaries.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/selinux_status.py b/mvt/android/modules/adb/selinux_status.py index d19f7ba..6c51e0b 100644 --- a/mvt/android/modules/adb/selinux_status.py +++ b/mvt/android/modules/adb/selinux_status.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/settings.py b/mvt/android/modules/adb/settings.py index 215c47a..60439d9 100644 --- a/mvt/android/modules/adb/settings.py +++ b/mvt/android/modules/adb/settings.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/sms.py b/mvt/android/modules/adb/sms.py index c793d33..8b82047 100644 --- a/mvt/android/modules/adb/sms.py +++ b/mvt/android/modules/adb/sms.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/adb/whatsapp.py b/mvt/android/modules/adb/whatsapp.py index 1ef1319..e0de1ae 100644 --- a/mvt/android/modules/adb/whatsapp.py +++ b/mvt/android/modules/adb/whatsapp.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/androidqf/__init__.py b/mvt/android/modules/androidqf/__init__.py index aad94c3..568382e 100644 --- a/mvt/android/modules/androidqf/__init__.py +++ b/mvt/android/modules/androidqf/__init__.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/androidqf/base.py b/mvt/android/modules/androidqf/base.py index 6d685ab..13f65c4 100644 --- a/mvt/android/modules/androidqf/base.py +++ b/mvt/android/modules/androidqf/base.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/androidqf/dumpsys_accessibility.py b/mvt/android/modules/androidqf/dumpsys_accessibility.py index d78b777..48da869 100644 --- a/mvt/android/modules/androidqf/dumpsys_accessibility.py +++ b/mvt/android/modules/androidqf/dumpsys_accessibility.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/androidqf/dumpsys_activities.py b/mvt/android/modules/androidqf/dumpsys_activities.py index 76f30cf..104c228 100644 --- a/mvt/android/modules/androidqf/dumpsys_activities.py +++ b/mvt/android/modules/androidqf/dumpsys_activities.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/androidqf/dumpsys_appops.py b/mvt/android/modules/androidqf/dumpsys_appops.py index 9177034..26dc889 100644 --- a/mvt/android/modules/androidqf/dumpsys_appops.py +++ b/mvt/android/modules/androidqf/dumpsys_appops.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/androidqf/dumpsys_packages.py b/mvt/android/modules/androidqf/dumpsys_packages.py index 76d909d..4aa092f 100644 --- a/mvt/android/modules/androidqf/dumpsys_packages.py +++ b/mvt/android/modules/androidqf/dumpsys_packages.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/androidqf/dumpsys_receivers.py b/mvt/android/modules/androidqf/dumpsys_receivers.py index 009f979..05001ee 100644 --- a/mvt/android/modules/androidqf/dumpsys_receivers.py +++ b/mvt/android/modules/androidqf/dumpsys_receivers.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/androidqf/getprop.py b/mvt/android/modules/androidqf/getprop.py index 9a500b7..988e2a7 100644 --- a/mvt/android/modules/androidqf/getprop.py +++ b/mvt/android/modules/androidqf/getprop.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/androidqf/processes.py b/mvt/android/modules/androidqf/processes.py index 14b4d80..fb879ae 100644 --- a/mvt/android/modules/androidqf/processes.py +++ b/mvt/android/modules/androidqf/processes.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/androidqf/settings.py b/mvt/android/modules/androidqf/settings.py index bcb1e11..17756e7 100644 --- a/mvt/android/modules/androidqf/settings.py +++ b/mvt/android/modules/androidqf/settings.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/androidqf/sms.py b/mvt/android/modules/androidqf/sms.py index fdaf669..ee60e8e 100644 --- a/mvt/android/modules/androidqf/sms.py +++ b/mvt/android/modules/androidqf/sms.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) - Private -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # This file is part of MVT Private and its content is confidential. # Please refer to the project maintainers before sharing with others. diff --git a/mvt/android/modules/backup/__init__.py b/mvt/android/modules/backup/__init__.py index e46fcc9..57d6000 100644 --- a/mvt/android/modules/backup/__init__.py +++ b/mvt/android/modules/backup/__init__.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/backup/base.py b/mvt/android/modules/backup/base.py index 3713cc2..da7ab61 100644 --- a/mvt/android/modules/backup/base.py +++ b/mvt/android/modules/backup/base.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/backup/sms.py b/mvt/android/modules/backup/sms.py index e848831..0ccd0cd 100644 --- a/mvt/android/modules/backup/sms.py +++ b/mvt/android/modules/backup/sms.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/bugreport/__init__.py b/mvt/android/modules/bugreport/__init__.py index 6c1625a..2a30aef 100644 --- a/mvt/android/modules/bugreport/__init__.py +++ b/mvt/android/modules/bugreport/__init__.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/bugreport/accessibility.py b/mvt/android/modules/bugreport/accessibility.py index e946746..cb906b9 100644 --- a/mvt/android/modules/bugreport/accessibility.py +++ b/mvt/android/modules/bugreport/accessibility.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/bugreport/activities.py b/mvt/android/modules/bugreport/activities.py index 6b2ab60..60e7f53 100644 --- a/mvt/android/modules/bugreport/activities.py +++ b/mvt/android/modules/bugreport/activities.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/bugreport/appops.py b/mvt/android/modules/bugreport/appops.py index 9dd9a0e..23838d0 100644 --- a/mvt/android/modules/bugreport/appops.py +++ b/mvt/android/modules/bugreport/appops.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/bugreport/base.py b/mvt/android/modules/bugreport/base.py index 3fe5318..221dd99 100644 --- a/mvt/android/modules/bugreport/base.py +++ b/mvt/android/modules/bugreport/base.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # See the file 'LICENSE' for usage and copying permissions, or find a copy at # https://github.com/mvt-project/mvt/blob/main/LICENSE diff --git a/mvt/android/modules/bugreport/battery_daily.py b/mvt/android/modules/bugreport/battery_daily.py index 4f71293..8b381f5 100644 --- a/mvt/android/modules/bugreport/battery_daily.py +++ b/mvt/android/modules/bugreport/battery_daily.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/bugreport/battery_history.py b/mvt/android/modules/bugreport/battery_history.py index 964a63e..d9d4035 100644 --- a/mvt/android/modules/bugreport/battery_history.py +++ b/mvt/android/modules/bugreport/battery_history.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/bugreport/dbinfo.py b/mvt/android/modules/bugreport/dbinfo.py index 337ad2a..b3b1b94 100644 --- a/mvt/android/modules/bugreport/dbinfo.py +++ b/mvt/android/modules/bugreport/dbinfo.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/bugreport/getprop.py b/mvt/android/modules/bugreport/getprop.py index fd0d431..380312a 100644 --- a/mvt/android/modules/bugreport/getprop.py +++ b/mvt/android/modules/bugreport/getprop.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/bugreport/packages.py b/mvt/android/modules/bugreport/packages.py index b722430..442d76c 100644 --- a/mvt/android/modules/bugreport/packages.py +++ b/mvt/android/modules/bugreport/packages.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/modules/bugreport/receivers.py b/mvt/android/modules/bugreport/receivers.py index ca12a72..4d1ece0 100644 --- a/mvt/android/modules/bugreport/receivers.py +++ b/mvt/android/modules/bugreport/receivers.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/parsers/__init__.py b/mvt/android/parsers/__init__.py index ca9b238..b83e0c7 100644 --- a/mvt/android/parsers/__init__.py +++ b/mvt/android/parsers/__init__.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/parsers/backup.py b/mvt/android/parsers/backup.py index 55088c6..b07a281 100644 --- a/mvt/android/parsers/backup.py +++ b/mvt/android/parsers/backup.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/parsers/dumpsys.py b/mvt/android/parsers/dumpsys.py index ac8d3fd..3968ed3 100644 --- a/mvt/android/parsers/dumpsys.py +++ b/mvt/android/parsers/dumpsys.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/android/parsers/getprop.py b/mvt/android/parsers/getprop.py index c6ee4c0..0e3857e 100644 --- a/mvt/android/parsers/getprop.py +++ b/mvt/android/parsers/getprop.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/__init__.py b/mvt/common/__init__.py index 0e4a492..9968a57 100644 --- a/mvt/common/__init__.py +++ b/mvt/common/__init__.py @@ -1,4 +1,4 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/cmd_check_iocs.py b/mvt/common/cmd_check_iocs.py index cd31996..0277291 100644 --- a/mvt/common/cmd_check_iocs.py +++ b/mvt/common/cmd_check_iocs.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/command.py b/mvt/common/command.py index b9cd9f6..1ed0d52 100644 --- a/mvt/common/command.py +++ b/mvt/common/command.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/help.py b/mvt/common/help.py index a849818..f68832a 100644 --- a/mvt/common/help.py +++ b/mvt/common/help.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/indicators.py b/mvt/common/indicators.py index 72e4be0..87dae68 100644 --- a/mvt/common/indicators.py +++ b/mvt/common/indicators.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/logo.py b/mvt/common/logo.py index 506b0d4..dbfe7ad 100644 --- a/mvt/common/logo.py +++ b/mvt/common/logo.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/module.py b/mvt/common/module.py index 969f919..46bcc00 100644 --- a/mvt/common/module.py +++ b/mvt/common/module.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/options.py b/mvt/common/options.py index 07d3f65..b5cfb24 100644 --- a/mvt/common/options.py +++ b/mvt/common/options.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/updates.py b/mvt/common/updates.py index 8aa3e7e..8617249 100644 --- a/mvt/common/updates.py +++ b/mvt/common/updates.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/url.py b/mvt/common/url.py index abb8a91..85ba1d9 100644 --- a/mvt/common/url.py +++ b/mvt/common/url.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/utils.py b/mvt/common/utils.py index dbde32a..3658589 100644 --- a/mvt/common/utils.py +++ b/mvt/common/utils.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/version.py b/mvt/common/version.py index 3f4532e..34a6a00 100644 --- a/mvt/common/version.py +++ b/mvt/common/version.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/common/virustotal.py b/mvt/common/virustotal.py index abea244..ec09122 100644 --- a/mvt/common/virustotal.py +++ b/mvt/common/virustotal.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/__init__.py b/mvt/ios/__init__.py index 24eb23d..73dc627 100644 --- a/mvt/ios/__init__.py +++ b/mvt/ios/__init__.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/cli.py b/mvt/ios/cli.py index b96dbdb..90e6386 100644 --- a/mvt/ios/cli.py +++ b/mvt/ios/cli.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ @@ -35,6 +35,7 @@ log = logging.getLogger(__name__) # Set this environment variable to a password if needed. MVT_IOS_BACKUP_PASSWORD = "MVT_IOS_BACKUP_PASSWORD" +CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help']) #============================================================================== @@ -56,7 +57,8 @@ def version(): #============================================================================== # Command: decrypt-backup #============================================================================== -@cli.command("decrypt-backup", help="Decrypt an encrypted iTunes backup") +@cli.command("decrypt-backup", help="Decrypt an encrypted iTunes backup", + context_settings=CONTEXT_SETTINGS) @click.option("--destination", "-d", required=True, help="Path to the folder where to store the decrypted backup") @click.option("--password", "-p", cls=MutuallyExclusiveOption, @@ -116,7 +118,8 @@ def decrypt_backup(ctx, destination, password, key_file, hashes, backup_path): #============================================================================== # Command: extract-key #============================================================================== -@cli.command("extract-key", help="Extract decryption key from an iTunes backup") +@cli.command("extract-key", help="Extract decryption key from an iTunes backup", + context_settings=CONTEXT_SETTINGS) @click.option("--password", "-p", help="Password to use to decrypt the backup (or, set " f"{MVT_IOS_BACKUP_PASSWORD} environment variable)") @@ -153,7 +156,8 @@ def extract_key(password, key_file, backup_path): #============================================================================== # Command: check-backup #============================================================================== -@cli.command("check-backup", help="Extract artifacts from an iTunes backup") +@cli.command("check-backup", help="Extract artifacts from an iTunes backup", + context_settings=CONTEXT_SETTINGS) @click.option("--iocs", "-i", type=click.Path(exists=True), multiple=True, default=[], help=HELP_MSG_IOC) @click.option("--output", "-o", type=click.Path(exists=False), @@ -185,7 +189,8 @@ def check_backup(ctx, iocs, output, fast, list_modules, module, hashes, backup_p #============================================================================== # Command: check-fs #============================================================================== -@cli.command("check-fs", help="Extract artifacts from a full filesystem dump") +@cli.command("check-fs", help="Extract artifacts from a full filesystem dump", + context_settings=CONTEXT_SETTINGS) @click.option("--iocs", "-i", type=click.Path(exists=True), multiple=True, default=[], help=HELP_MSG_IOC) @click.option("--output", "-o", type=click.Path(exists=False), @@ -217,7 +222,8 @@ def check_fs(ctx, iocs, output, fast, list_modules, module, hashes, dump_path): #============================================================================== # Command: check-iocs #============================================================================== -@cli.command("check-iocs", help="Compare stored JSON results to provided indicators") +@cli.command("check-iocs", help="Compare stored JSON results to provided indicators", + context_settings=CONTEXT_SETTINGS) @click.option("--iocs", "-i", type=click.Path(exists=True), multiple=True, default=[], help=HELP_MSG_IOC) @click.option("--list-modules", "-l", is_flag=True, help=HELP_MSG_LIST_MODULES) @@ -238,7 +244,8 @@ def check_iocs(ctx, iocs, list_modules, module, folder): #============================================================================== # Command: download-iocs #============================================================================== -@cli.command("download-iocs", help="Download public STIX2 indicators") +@cli.command("download-iocs", help="Download public STIX2 indicators", + context_settings=CONTEXT_SETTINGS) def download_iocs(): ioc_updates = IndicatorsUpdates() ioc_updates.update() diff --git a/mvt/ios/cmd_check_backup.py b/mvt/ios/cmd_check_backup.py index 02d4c02..53ed6bd 100644 --- a/mvt/ios/cmd_check_backup.py +++ b/mvt/ios/cmd_check_backup.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/cmd_check_fs.py b/mvt/ios/cmd_check_fs.py index 8569505..cb9175b 100644 --- a/mvt/ios/cmd_check_fs.py +++ b/mvt/ios/cmd_check_fs.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/decrypt.py b/mvt/ios/decrypt.py index 12d9f3e..07629ef 100644 --- a/mvt/ios/decrypt.py +++ b/mvt/ios/decrypt.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/__init__.py b/mvt/ios/modules/__init__.py index 0e4a492..9968a57 100644 --- a/mvt/ios/modules/__init__.py +++ b/mvt/ios/modules/__init__.py @@ -1,4 +1,4 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/backup/__init__.py b/mvt/ios/modules/backup/__init__.py index 9ecf8dd..f7e58b6 100644 --- a/mvt/ios/modules/backup/__init__.py +++ b/mvt/ios/modules/backup/__init__.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/backup/backup_info.py b/mvt/ios/modules/backup/backup_info.py index 38c39fb..239fdd8 100644 --- a/mvt/ios/modules/backup/backup_info.py +++ b/mvt/ios/modules/backup/backup_info.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ @@ -9,7 +9,7 @@ import plistlib from typing import Optional from mvt.common.module import DatabaseNotFoundError -from mvt.ios.versions import get_device_desc_from_id, latest_ios_version +from mvt.ios.versions import get_device_desc_from_id, is_ios_version_outdated from ..base import IOSExtraction @@ -63,7 +63,4 @@ class BackupInfo(IOSExtraction): self.results[field] = value if "Product Version" in info: - latest = latest_ios_version() - if info["Product Version"] != latest["version"]: - self.log.warning("This phone is running an outdated iOS version: %s (latest is %s)", - info["Product Version"], latest['version']) + is_ios_version_outdated(info["Product Version"], log=self.log) diff --git a/mvt/ios/modules/backup/configuration_profiles.py b/mvt/ios/modules/backup/configuration_profiles.py index c381204..d0497e5 100644 --- a/mvt/ios/modules/backup/configuration_profiles.py +++ b/mvt/ios/modules/backup/configuration_profiles.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/backup/manifest.py b/mvt/ios/modules/backup/manifest.py index 7222670..5c4b5ea 100644 --- a/mvt/ios/modules/backup/manifest.py +++ b/mvt/ios/modules/backup/manifest.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/backup/profile_events.py b/mvt/ios/modules/backup/profile_events.py index afc836d..d5dcdbd 100644 --- a/mvt/ios/modules/backup/profile_events.py +++ b/mvt/ios/modules/backup/profile_events.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/base.py b/mvt/ios/modules/base.py index ab60f7c..bcdd9ef 100644 --- a/mvt/ios/modules/base.py +++ b/mvt/ios/modules/base.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ @@ -152,7 +152,6 @@ class IOSExtraction(MVTModule): If a module requires to process multiple databases or files, you should use the helper functions above. - :param backup_id: iTunes backup database file's ID (or hash). :param root_paths: Glob patterns for files to seek in filesystem dump. (Default value = []) :param backup_ids: Default value = None) diff --git a/mvt/ios/modules/fs/__init__.py b/mvt/ios/modules/fs/__init__.py index 4450c80..73cb690 100644 --- a/mvt/ios/modules/fs/__init__.py +++ b/mvt/ios/modules/fs/__init__.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/analytics.py b/mvt/ios/modules/fs/analytics.py index 9487a09..97985bb 100644 --- a/mvt/ios/modules/fs/analytics.py +++ b/mvt/ios/modules/fs/analytics.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/analytics_ios_versions.py b/mvt/ios/modules/fs/analytics_ios_versions.py index bc64838..f71dcfa 100644 --- a/mvt/ios/modules/fs/analytics_ios_versions.py +++ b/mvt/ios/modules/fs/analytics_ios_versions.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/cache_files.py b/mvt/ios/modules/fs/cache_files.py index 170cff5..16aa9b3 100644 --- a/mvt/ios/modules/fs/cache_files.py +++ b/mvt/ios/modules/fs/cache_files.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/filesystem.py b/mvt/ios/modules/fs/filesystem.py index 3d85076..4aff021 100644 --- a/mvt/ios/modules/fs/filesystem.py +++ b/mvt/ios/modules/fs/filesystem.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/net_netusage.py b/mvt/ios/modules/fs/net_netusage.py index 5991ba2..1c5837a 100644 --- a/mvt/ios/modules/fs/net_netusage.py +++ b/mvt/ios/modules/fs/net_netusage.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/safari_favicon.py b/mvt/ios/modules/fs/safari_favicon.py index 46612c0..2f3cb67 100644 --- a/mvt/ios/modules/fs/safari_favicon.py +++ b/mvt/ios/modules/fs/safari_favicon.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/shutdownlog.py b/mvt/ios/modules/fs/shutdownlog.py index e69e425..e0a5041 100644 --- a/mvt/ios/modules/fs/shutdownlog.py +++ b/mvt/ios/modules/fs/shutdownlog.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/version_history.py b/mvt/ios/modules/fs/version_history.py index d0e41c5..5e64868 100644 --- a/mvt/ios/modules/fs/version_history.py +++ b/mvt/ios/modules/fs/version_history.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/webkit_base.py b/mvt/ios/modules/fs/webkit_base.py index e922291..ac2957b 100644 --- a/mvt/ios/modules/fs/webkit_base.py +++ b/mvt/ios/modules/fs/webkit_base.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/webkit_indexeddb.py b/mvt/ios/modules/fs/webkit_indexeddb.py index 6febd9b..cf33ce6 100644 --- a/mvt/ios/modules/fs/webkit_indexeddb.py +++ b/mvt/ios/modules/fs/webkit_indexeddb.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/webkit_localstorage.py b/mvt/ios/modules/fs/webkit_localstorage.py index 75d4ff8..1d47fea 100644 --- a/mvt/ios/modules/fs/webkit_localstorage.py +++ b/mvt/ios/modules/fs/webkit_localstorage.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/fs/webkit_safariviewservice.py b/mvt/ios/modules/fs/webkit_safariviewservice.py index f37f685..b03aabb 100644 --- a/mvt/ios/modules/fs/webkit_safariviewservice.py +++ b/mvt/ios/modules/fs/webkit_safariviewservice.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/__init__.py b/mvt/ios/modules/mixed/__init__.py index 8d7c173..afb2fcf 100644 --- a/mvt/ios/modules/mixed/__init__.py +++ b/mvt/ios/modules/mixed/__init__.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/calls.py b/mvt/ios/modules/mixed/calls.py index 2c9b906..c0a167c 100644 --- a/mvt/ios/modules/mixed/calls.py +++ b/mvt/ios/modules/mixed/calls.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/chrome_favicon.py b/mvt/ios/modules/mixed/chrome_favicon.py index 439535a..0371a82 100644 --- a/mvt/ios/modules/mixed/chrome_favicon.py +++ b/mvt/ios/modules/mixed/chrome_favicon.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/chrome_history.py b/mvt/ios/modules/mixed/chrome_history.py index 6a2163f..cbd4464 100644 --- a/mvt/ios/modules/mixed/chrome_history.py +++ b/mvt/ios/modules/mixed/chrome_history.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/contacts.py b/mvt/ios/modules/mixed/contacts.py index c90c37b..ea2aa2c 100644 --- a/mvt/ios/modules/mixed/contacts.py +++ b/mvt/ios/modules/mixed/contacts.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/firefox_favicon.py b/mvt/ios/modules/mixed/firefox_favicon.py index 24460ef..9177e3a 100644 --- a/mvt/ios/modules/mixed/firefox_favicon.py +++ b/mvt/ios/modules/mixed/firefox_favicon.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/firefox_history.py b/mvt/ios/modules/mixed/firefox_history.py index 140f133..40013d1 100644 --- a/mvt/ios/modules/mixed/firefox_history.py +++ b/mvt/ios/modules/mixed/firefox_history.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/idstatuscache.py b/mvt/ios/modules/mixed/idstatuscache.py index 3d0ea1d..17e51af 100644 --- a/mvt/ios/modules/mixed/idstatuscache.py +++ b/mvt/ios/modules/mixed/idstatuscache.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/interactionc.py b/mvt/ios/modules/mixed/interactionc.py index e7d9a80..ddba2bc 100644 --- a/mvt/ios/modules/mixed/interactionc.py +++ b/mvt/ios/modules/mixed/interactionc.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/locationd.py b/mvt/ios/modules/mixed/locationd.py index 6676d4a..a726eee 100644 --- a/mvt/ios/modules/mixed/locationd.py +++ b/mvt/ios/modules/mixed/locationd.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/net_datausage.py b/mvt/ios/modules/mixed/net_datausage.py index c3d7277..84f3a40 100644 --- a/mvt/ios/modules/mixed/net_datausage.py +++ b/mvt/ios/modules/mixed/net_datausage.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/osanalytics_addaily.py b/mvt/ios/modules/mixed/osanalytics_addaily.py index cf13e1e..464c4c1 100644 --- a/mvt/ios/modules/mixed/osanalytics_addaily.py +++ b/mvt/ios/modules/mixed/osanalytics_addaily.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/safari_browserstate.py b/mvt/ios/modules/mixed/safari_browserstate.py index 718cd2e..0b509ac 100644 --- a/mvt/ios/modules/mixed/safari_browserstate.py +++ b/mvt/ios/modules/mixed/safari_browserstate.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/safari_history.py b/mvt/ios/modules/mixed/safari_history.py index e4893ef..9958827 100644 --- a/mvt/ios/modules/mixed/safari_history.py +++ b/mvt/ios/modules/mixed/safari_history.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/shortcuts.py b/mvt/ios/modules/mixed/shortcuts.py index 8151067..e8501e3 100644 --- a/mvt/ios/modules/mixed/shortcuts.py +++ b/mvt/ios/modules/mixed/shortcuts.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/sms.py b/mvt/ios/modules/mixed/sms.py index 8a01829..358eaf7 100644 --- a/mvt/ios/modules/mixed/sms.py +++ b/mvt/ios/modules/mixed/sms.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/sms_attachments.py b/mvt/ios/modules/mixed/sms_attachments.py index 2d35c38..492e1b5 100644 --- a/mvt/ios/modules/mixed/sms_attachments.py +++ b/mvt/ios/modules/mixed/sms_attachments.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/tcc.py b/mvt/ios/modules/mixed/tcc.py index 67128ab..65e45ca 100644 --- a/mvt/ios/modules/mixed/tcc.py +++ b/mvt/ios/modules/mixed/tcc.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/webkit_resource_load_statistics.py b/mvt/ios/modules/mixed/webkit_resource_load_statistics.py index 4dd9405..334f3ec 100644 --- a/mvt/ios/modules/mixed/webkit_resource_load_statistics.py +++ b/mvt/ios/modules/mixed/webkit_resource_load_statistics.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/webkit_session_resource_log.py b/mvt/ios/modules/mixed/webkit_session_resource_log.py index c63bed7..160b8d5 100644 --- a/mvt/ios/modules/mixed/webkit_session_resource_log.py +++ b/mvt/ios/modules/mixed/webkit_session_resource_log.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/mixed/whatsapp.py b/mvt/ios/modules/mixed/whatsapp.py index f1dab22..eef35e2 100644 --- a/mvt/ios/modules/mixed/whatsapp.py +++ b/mvt/ios/modules/mixed/whatsapp.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/modules/net_base.py b/mvt/ios/modules/net_base.py index 5baef85..3d7bebc 100644 --- a/mvt/ios/modules/net_base.py +++ b/mvt/ios/modules/net_base.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/mvt/ios/versions.py b/mvt/ios/versions.py index 5b88d01..05c8a6d 100644 --- a/mvt/ios/versions.py +++ b/mvt/ios/versions.py @@ -1,8 +1,12 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ from typing import Dict +from logging import Logger +from typing import Optional + +import packaging IPHONE_MODELS = [ {"identifier": "iPhone4,1", "description": "iPhone 4S"}, @@ -172,6 +176,7 @@ IPHONE_IOS_VERSIONS = [ {"build": "15F79", "version": "11.4"}, {"build": "15G77", "version": "11.4.1"}, {"build": "16A366", "version": "12.0"}, + {"build": "16A367", "version": "12.0"}, {"build": "16A404", "version": "12.0.1"}, {"build": "16A405", "version": "12.0.1"}, {"build": "16B92", "version": "12.1"}, @@ -191,6 +196,7 @@ IPHONE_IOS_VERSIONS = [ {"build": "16G102", "version": "12.4.1"}, {"build": "16G114", "version": "12.4.2"}, {"build": "16G130", "version": "12.4.3"}, + {"build": "16G140", "version": "12.4.4"}, {"build": "16G161", "version": "12.4.5"}, {"build": "16G183", "version": "12.4.6"}, {"build": "16G192", "version": "12.4.7"}, @@ -198,6 +204,12 @@ IPHONE_IOS_VERSIONS = [ {"build": "16H5", "version": "12.4.9"}, {"build": "16H20", "version": "12.5"}, {"build": "16H22", "version": "12.5.1"}, + {"build": "16H30", "version": "12.5.2"}, + {"build": "16H41", "version": "12.5.3"}, + {"build": "16H50", "version": "12.5.4"}, + {"build": "16H62", "version": "12.5.5"}, + {"build": "16H71", "version": "12.5.6"}, + {"build": "16H81", "version": "12.5.7"}, {"build": "17A577", "version": "13.0"}, {"build": "17A844", "version": "13.1"}, {"build": "17A854", "version": "13.1.1"}, @@ -210,6 +222,7 @@ IPHONE_IOS_VERSIONS = [ {"build": "17C54", "version": "13.3"}, {"build": "17D50", "version": "13.3.1"}, {"build": "17E255", "version": "13.4"}, + {"build": "17E8255", "version": "13.4"}, {"build": "17E262", "version": "13.4.1"}, {"build": "17E8258", "version": "13.4.1"}, {"build": "17F75", "version": "13.5"}, @@ -255,7 +268,8 @@ IPHONE_IOS_VERSIONS = [ {"build": "20B101", "version": "16.1.1"}, {"build": "20B110", "version": "16.1.2"}, {"build": "20C65", "version": "16.2"}, - {"build": "20D47", "version": "16.3"} + {"build": "20D47", "version": "16.3"}, + {"build": "20D67", "version": "16.3.1"} ] @@ -279,3 +293,27 @@ def find_version_by_build(build: str) -> str: def latest_ios_version() -> Dict[str, str]: return IPHONE_IOS_VERSIONS[-1] + + +def is_ios_version_outdated(version: str, log: Optional[Logger] = None) -> bool: + """ + Check if the given version is below the latest version + version can be a build number or version number + Returns true if outdated for sure, false otherwise + """ + # Check if it is a build + if "." not in version: + version = find_version_by_build(version) + # If we can't find it + if version == "": + return False + + latest_parsed = packaging.version.parse(latest_ios_version()["version"]) + current_parsed = packaging.version.parse(version) + if current_parsed < latest_parsed: + if log: + log.warning("This phone is running an outdated iOS version: %s (latest is %s)", + version, + latest_ios_version()["version"]) + return True + return False diff --git a/setup.py b/setup.py index 11f2323..e768d9a 100755 --- a/setup.py +++ b/setup.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/__init__.py b/tests/__init__.py index e69de29..9968a57 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -0,0 +1,4 @@ +# Mobile Verification Toolkit (MVT) +# Copyright (c) 2021-2023 Claudio Guarnieri. +# Use of this software is governed by the MVT License 1.1 that can be found at +# https://license.mvt.re/1.1/ diff --git a/tests/android/__init__.py b/tests/android/__init__.py index e69de29..9968a57 100644 --- a/tests/android/__init__.py +++ b/tests/android/__init__.py @@ -0,0 +1,4 @@ +# Mobile Verification Toolkit (MVT) +# Copyright (c) 2021-2023 Claudio Guarnieri. +# Use of this software is governed by the MVT License 1.1 that can be found at +# https://license.mvt.re/1.1/ diff --git a/tests/android/test_backup_module.py b/tests/android/test_backup_module.py index a8c0a63..8ca642d 100644 --- a/tests/android/test_backup_module.py +++ b/tests/android/test_backup_module.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/android/test_backup_parser.py b/tests/android/test_backup_parser.py index 9a26406..bd309ef 100644 --- a/tests/android/test_backup_parser.py +++ b/tests/android/test_backup_parser.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/android/test_bugreport.py b/tests/android/test_bugreport.py index 36a92c7..b54d268 100644 --- a/tests/android/test_bugreport.py +++ b/tests/android/test_bugreport.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/android/test_dumpsys_parser.py b/tests/android/test_dumpsys_parser.py index 7675c94..807145f 100644 --- a/tests/android/test_dumpsys_parser.py +++ b/tests/android/test_dumpsys_parser.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/android_androidqf/__init__.py b/tests/android_androidqf/__init__.py index e69de29..9968a57 100644 --- a/tests/android_androidqf/__init__.py +++ b/tests/android_androidqf/__init__.py @@ -0,0 +1,4 @@ +# Mobile Verification Toolkit (MVT) +# Copyright (c) 2021-2023 Claudio Guarnieri. +# Use of this software is governed by the MVT License 1.1 that can be found at +# https://license.mvt.re/1.1/ diff --git a/tests/android_androidqf/test_dumpsysaccessbility.py b/tests/android_androidqf/test_dumpsysaccessbility.py index 03937d7..82e572a 100644 --- a/tests/android_androidqf/test_dumpsysaccessbility.py +++ b/tests/android_androidqf/test_dumpsysaccessbility.py @@ -1,14 +1,13 @@ # Mobile Verification Toolkit (MVT) - Private -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # This file is part of MVT Private and its content is confidential. # Please refer to the project maintainers before sharing with others. import logging -from mvt.common.module import run_module - from mvt.android.modules.androidqf.dumpsys_accessibility import \ DumpsysAccessibility +from mvt.common.module import run_module from ..utils import get_android_androidqf diff --git a/tests/android_androidqf/test_dumpsysappops.py b/tests/android_androidqf/test_dumpsysappops.py index eb7e203..0787863 100644 --- a/tests/android_androidqf/test_dumpsysappops.py +++ b/tests/android_androidqf/test_dumpsysappops.py @@ -1,13 +1,12 @@ # Mobile Verification Toolkit (MVT) - Private -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # This file is part of MVT Private and its content is confidential. # Please refer to the project maintainers before sharing with others. import logging -from mvt.common.module import run_module - from mvt.android.modules.androidqf.dumpsys_appops import DumpsysAppops +from mvt.common.module import run_module from ..utils import get_android_androidqf diff --git a/tests/android_androidqf/test_dumpsyspackages.py b/tests/android_androidqf/test_dumpsyspackages.py index a552c15..3bf78db 100644 --- a/tests/android_androidqf/test_dumpsyspackages.py +++ b/tests/android_androidqf/test_dumpsyspackages.py @@ -1,15 +1,14 @@ # Mobile Verification Toolkit (MVT) - Private -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # This file is part of MVT Private and its content is confidential. # Please refer to the project maintainers before sharing with others. import logging +from mvt.android.modules.androidqf.dumpsys_packages import DumpsysPackages from mvt.common.indicators import Indicators from mvt.common.module import run_module -from mvt.android.modules.androidqf.dumpsys_packages import DumpsysPackages - from ..utils import get_android_androidqf diff --git a/tests/android_androidqf/test_dumpsysreceivers.py b/tests/android_androidqf/test_dumpsysreceivers.py index d9d761e..d996303 100644 --- a/tests/android_androidqf/test_dumpsysreceivers.py +++ b/tests/android_androidqf/test_dumpsysreceivers.py @@ -1,13 +1,12 @@ # Mobile Verification Toolkit (MVT) - Private -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # This file is part of MVT Private and its content is confidential. # Please refer to the project maintainers before sharing with others. import logging -from mvt.common.module import run_module - from mvt.android.modules.androidqf.dumpsys_receivers import DumpsysReceivers +from mvt.common.module import run_module from ..utils import get_android_androidqf diff --git a/tests/android_androidqf/test_getprop.py b/tests/android_androidqf/test_getprop.py index 450e45d..f9c99a9 100644 --- a/tests/android_androidqf/test_getprop.py +++ b/tests/android_androidqf/test_getprop.py @@ -1,10 +1,10 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ -import os import logging +import os from mvt.android.modules.androidqf.getprop import Getprop from mvt.common.module import run_module diff --git a/tests/android_androidqf/test_processes.py b/tests/android_androidqf/test_processes.py index d207979..d246073 100644 --- a/tests/android_androidqf/test_processes.py +++ b/tests/android_androidqf/test_processes.py @@ -1,10 +1,10 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ -import os import logging +import os from mvt.android.modules.androidqf.processes import Processes from mvt.common.module import run_module diff --git a/tests/android_androidqf/test_settings.py b/tests/android_androidqf/test_settings.py index 62ec2b8..824982d 100644 --- a/tests/android_androidqf/test_settings.py +++ b/tests/android_androidqf/test_settings.py @@ -1,11 +1,10 @@ # Mobile Verification Toolkit (MVT) - Private -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # This file is part of MVT Private and its content is confidential. # Please refer to the project maintainers before sharing with others. -from mvt.common.module import run_module - from mvt.android.modules.androidqf.settings import Settings +from mvt.common.module import run_module from ..utils import get_android_androidqf diff --git a/tests/android_androidqf/test_sms.py b/tests/android_androidqf/test_sms.py index c4393c8..0e41a72 100644 --- a/tests/android_androidqf/test_sms.py +++ b/tests/android_androidqf/test_sms.py @@ -1,10 +1,10 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ -import os import logging +import os from mvt.android.modules.androidqf.sms import SMS from mvt.common.module import run_module diff --git a/tests/artifacts/generate_stix.py b/tests/artifacts/generate_stix.py index 1cff0a7..229289c 100644 --- a/tests/artifacts/generate_stix.py +++ b/tests/artifacts/generate_stix.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/common/__init__.py b/tests/common/__init__.py index e69de29..9968a57 100644 --- a/tests/common/__init__.py +++ b/tests/common/__init__.py @@ -0,0 +1,4 @@ +# Mobile Verification Toolkit (MVT) +# Copyright (c) 2021-2023 Claudio Guarnieri. +# Use of this software is governed by the MVT License 1.1 that can be found at +# https://license.mvt.re/1.1/ diff --git a/tests/common/test_indicators.py b/tests/common/test_indicators.py index d2daa07..79e4481 100644 --- a/tests/common/test_indicators.py +++ b/tests/common/test_indicators.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/conftest.py b/tests/conftest.py index 0dfa49d..c67432f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/ios_backup/__init__.py b/tests/ios_backup/__init__.py index e69de29..9968a57 100644 --- a/tests/ios_backup/__init__.py +++ b/tests/ios_backup/__init__.py @@ -0,0 +1,4 @@ +# Mobile Verification Toolkit (MVT) +# Copyright (c) 2021-2023 Claudio Guarnieri. +# Use of this software is governed by the MVT License 1.1 that can be found at +# https://license.mvt.re/1.1/ diff --git a/tests/ios_backup/test_backup_info.py b/tests/ios_backup/test_backup_info.py index 9099175..96544aa 100644 --- a/tests/ios_backup/test_backup_info.py +++ b/tests/ios_backup/test_backup_info.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/ios_backup/test_datausage.py b/tests/ios_backup/test_datausage.py index 63fec23..208eb07 100644 --- a/tests/ios_backup/test_datausage.py +++ b/tests/ios_backup/test_datausage.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/ios_backup/test_manifest.py b/tests/ios_backup/test_manifest.py index 1a64b3e..98c5b76 100644 --- a/tests/ios_backup/test_manifest.py +++ b/tests/ios_backup/test_manifest.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/ios_backup/test_safari_browserstate.py b/tests/ios_backup/test_safari_browserstate.py index 7110e92..c96b3e0 100644 --- a/tests/ios_backup/test_safari_browserstate.py +++ b/tests/ios_backup/test_safari_browserstate.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/ios_backup/test_sms.py b/tests/ios_backup/test_sms.py index 78e90e3..f2bb745 100644 --- a/tests/ios_backup/test_sms.py +++ b/tests/ios_backup/test_sms.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/ios_backup/test_tcc.py b/tests/ios_backup/test_tcc.py index d4ca363..b110b0d 100644 --- a/tests/ios_backup/test_tcc.py +++ b/tests/ios_backup/test_tcc.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/ios_backup/test_webkit_resource_load_statistics.py b/tests/ios_backup/test_webkit_resource_load_statistics.py index 07f657f..9fed33e 100644 --- a/tests/ios_backup/test_webkit_resource_load_statistics.py +++ b/tests/ios_backup/test_webkit_resource_load_statistics.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ @@ -7,7 +7,8 @@ import logging from mvt.common.indicators import Indicators from mvt.common.module import run_module -from mvt.ios.modules.mixed.webkit_resource_load_statistics import WebkitResourceLoadStatistics +from mvt.ios.modules.mixed.webkit_resource_load_statistics import \ + WebkitResourceLoadStatistics from ..utils import get_ios_backup_folder diff --git a/tests/ios_fs/__init__.py b/tests/ios_fs/__init__.py index e69de29..9968a57 100644 --- a/tests/ios_fs/__init__.py +++ b/tests/ios_fs/__init__.py @@ -0,0 +1,4 @@ +# Mobile Verification Toolkit (MVT) +# Copyright (c) 2021-2023 Claudio Guarnieri. +# Use of this software is governed by the MVT License 1.1 that can be found at +# https://license.mvt.re/1.1/ diff --git a/tests/ios_fs/test_filesystem.py b/tests/ios_fs/test_filesystem.py index dd82cf4..a8d8b89 100644 --- a/tests/ios_fs/test_filesystem.py +++ b/tests/ios_fs/test_filesystem.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/test_check_android_androidqf.py b/tests/test_check_android_androidqf.py index c58fc6a..b9ae4d2 100644 --- a/tests/test_check_android_androidqf.py +++ b/tests/test_check_android_androidqf.py @@ -1,9 +1,10 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ import os + from click.testing import CliRunner from mvt.android.cli import check_androidqf diff --git a/tests/test_check_android_bugreport.py b/tests/test_check_android_bugreport.py index 2ec3f2a..263009f 100644 --- a/tests/test_check_android_bugreport.py +++ b/tests/test_check_android_bugreport.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/test_check_ios_backup.py b/tests/test_check_ios_backup.py index c4b5af9..3e0fbdd 100644 --- a/tests/test_check_ios_backup.py +++ b/tests/test_check_ios_backup.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/ diff --git a/tests/test_ios_versions.py b/tests/test_ios_versions.py new file mode 100644 index 0000000..9f6b74c --- /dev/null +++ b/tests/test_ios_versions.py @@ -0,0 +1,14 @@ +# Mobile Verification Toolkit (MVT) +# Copyright (c) 2021-2023 Claudio Guarnieri. +# Use of this software is governed by the MVT License 1.1 that can be found at +# https://license.mvt.re/1.1/ + +from mvt.ios.versions import is_ios_version_outdated + + +class TestIosVersions: + + def test_is_ios_version_outdated(self): + assert is_ios_version_outdated("20B110") is True + assert is_ios_version_outdated("16.3") is True + assert is_ios_version_outdated("38.2") is False diff --git a/tests/utils.py b/tests/utils.py index 7469c79..7a57d14 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -1,5 +1,5 @@ # Mobile Verification Toolkit (MVT) -# Copyright (c) 2021-2022 Claudio Guarnieri. +# Copyright (c) 2021-2023 Claudio Guarnieri. # Use of this software is governed by the MVT License 1.1 that can be found at # https://license.mvt.re/1.1/