From e2c623c40f9f24b96d36708694064ec6276370cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donncha=20=C3=93=20Cearbhaill?= Date: Mon, 17 Jul 2023 18:29:43 +0200 Subject: [PATCH] Move --fast flag from being a top-level MVT module parameter to an option in a new module_options parameter --- mvt/android/cli.py | 4 +++- mvt/android/cmd_check_adb.py | 4 ++-- mvt/android/cmd_check_androidqf.py | 4 ++-- mvt/android/cmd_check_backup.py | 4 ++-- mvt/android/cmd_check_bugreport.py | 4 ++-- mvt/android/modules/adb/base.py | 4 ++-- mvt/android/modules/adb/chrome_history.py | 4 ++-- mvt/android/modules/adb/dumpsys_accessibility.py | 4 ++-- mvt/android/modules/adb/dumpsys_activities.py | 4 ++-- mvt/android/modules/adb/dumpsys_appops.py | 4 ++-- mvt/android/modules/adb/dumpsys_battery_daily.py | 4 ++-- mvt/android/modules/adb/dumpsys_battery_history.py | 4 ++-- mvt/android/modules/adb/dumpsys_dbinfo.py | 4 ++-- mvt/android/modules/adb/dumpsys_full.py | 4 ++-- mvt/android/modules/adb/dumpsys_receivers.py | 4 ++-- mvt/android/modules/adb/files.py | 10 ++++++---- mvt/android/modules/adb/getprop.py | 4 ++-- mvt/android/modules/adb/logcat.py | 4 ++-- mvt/android/modules/adb/packages.py | 6 +++--- mvt/android/modules/adb/processes.py | 4 ++-- mvt/android/modules/adb/root_binaries.py | 4 ++-- mvt/android/modules/adb/selinux_status.py | 4 ++-- mvt/android/modules/adb/settings.py | 4 ++-- mvt/android/modules/adb/sms.py | 4 ++-- mvt/android/modules/adb/whatsapp.py | 4 ++-- mvt/android/modules/androidqf/base.py | 4 ++-- mvt/android/modules/androidqf/dumpsys_accessibility.py | 4 ++-- mvt/android/modules/androidqf/dumpsys_activities.py | 4 ++-- mvt/android/modules/androidqf/dumpsys_appops.py | 4 ++-- mvt/android/modules/androidqf/dumpsys_packages.py | 4 ++-- mvt/android/modules/androidqf/dumpsys_receivers.py | 4 ++-- mvt/android/modules/androidqf/getprop.py | 4 ++-- mvt/android/modules/androidqf/processes.py | 4 ++-- mvt/android/modules/androidqf/settings.py | 4 ++-- mvt/android/modules/androidqf/sms.py | 4 ++-- mvt/android/modules/backup/base.py | 4 ++-- mvt/android/modules/backup/sms.py | 4 ++-- mvt/android/modules/bugreport/accessibility.py | 4 ++-- mvt/android/modules/bugreport/activities.py | 4 ++-- mvt/android/modules/bugreport/appops.py | 4 ++-- mvt/android/modules/bugreport/base.py | 4 ++-- mvt/android/modules/bugreport/battery_daily.py | 4 ++-- mvt/android/modules/bugreport/battery_history.py | 4 ++-- mvt/android/modules/bugreport/dbinfo.py | 4 ++-- mvt/android/modules/bugreport/getprop.py | 4 ++-- mvt/android/modules/bugreport/packages.py | 4 ++-- mvt/android/modules/bugreport/receivers.py | 4 ++-- mvt/common/cmd_check_iocs.py | 4 ++-- mvt/common/command.py | 10 +++++++--- mvt/common/module.py | 4 ++-- mvt/ios/cli.py | 7 +++++-- mvt/ios/cmd_check_backup.py | 4 ++-- mvt/ios/cmd_check_fs.py | 4 ++-- mvt/ios/modules/backup/backup_info.py | 4 ++-- mvt/ios/modules/backup/configuration_profiles.py | 4 ++-- mvt/ios/modules/backup/manifest.py | 4 ++-- mvt/ios/modules/backup/profile_events.py | 4 ++-- mvt/ios/modules/base.py | 4 ++-- mvt/ios/modules/fs/analytics.py | 4 ++-- mvt/ios/modules/fs/analytics_ios_versions.py | 4 ++-- mvt/ios/modules/fs/cache_files.py | 4 ++-- mvt/ios/modules/fs/filesystem.py | 6 +++--- mvt/ios/modules/fs/net_netusage.py | 4 ++-- mvt/ios/modules/fs/safari_favicon.py | 4 ++-- mvt/ios/modules/fs/shutdownlog.py | 4 ++-- mvt/ios/modules/fs/version_history.py | 4 ++-- mvt/ios/modules/fs/webkit_indexeddb.py | 4 ++-- mvt/ios/modules/fs/webkit_localstorage.py | 4 ++-- mvt/ios/modules/fs/webkit_safariviewservice.py | 4 ++-- mvt/ios/modules/mixed/applications.py | 4 ++-- mvt/ios/modules/mixed/calendar.py | 4 ++-- mvt/ios/modules/mixed/calls.py | 6 +++--- mvt/ios/modules/mixed/chrome_favicon.py | 4 ++-- mvt/ios/modules/mixed/chrome_history.py | 4 ++-- mvt/ios/modules/mixed/contacts.py | 4 ++-- mvt/ios/modules/mixed/firefox_favicon.py | 4 ++-- mvt/ios/modules/mixed/firefox_history.py | 4 ++-- mvt/ios/modules/mixed/idstatuscache.py | 4 ++-- mvt/ios/modules/mixed/interactionc.py | 4 ++-- mvt/ios/modules/mixed/locationd.py | 4 ++-- mvt/ios/modules/mixed/net_datausage.py | 4 ++-- mvt/ios/modules/mixed/osanalytics_addaily.py | 4 ++-- mvt/ios/modules/mixed/safari_browserstate.py | 4 ++-- mvt/ios/modules/mixed/safari_history.py | 4 ++-- mvt/ios/modules/mixed/shortcuts.py | 4 ++-- mvt/ios/modules/mixed/sms.py | 4 ++-- mvt/ios/modules/mixed/sms_attachments.py | 4 ++-- mvt/ios/modules/mixed/tcc.py | 4 ++-- .../modules/mixed/webkit_resource_load_statistics.py | 4 ++-- mvt/ios/modules/mixed/webkit_session_resource_log.py | 4 ++-- mvt/ios/modules/mixed/whatsapp.py | 4 ++-- mvt/ios/modules/net_base.py | 8 ++++---- 92 files changed, 202 insertions(+), 191 deletions(-) diff --git a/mvt/android/cli.py b/mvt/android/cli.py index 2368a80..11704d1 100644 --- a/mvt/android/cli.py +++ b/mvt/android/cli.py @@ -145,12 +145,14 @@ def download_apks(ctx, all_apks, virustotal, output, from_file, serial, verbose) @click.pass_context def check_adb(ctx, serial, iocs, output, fast, list_modules, module, verbose): set_verbose_logging(verbose) + module_options = {"fast_mode": fast} + cmd = CmdAndroidCheckADB( results_path=output, ioc_files=iocs, module_name=module, serial=serial, - fast_mode=fast, + module_options=module_options, ) if list_modules: diff --git a/mvt/android/cmd_check_adb.py b/mvt/android/cmd_check_adb.py index 1740718..5f6f597 100644 --- a/mvt/android/cmd_check_adb.py +++ b/mvt/android/cmd_check_adb.py @@ -21,7 +21,7 @@ class CmdAndroidCheckADB(Command): ioc_files: Optional[list] = None, module_name: Optional[str] = None, serial: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, ) -> None: super().__init__( target_path=target_path, @@ -29,7 +29,7 @@ class CmdAndroidCheckADB(Command): ioc_files=ioc_files, module_name=module_name, serial=serial, - fast_mode=fast_mode, + module_options=module_options, log=log, ) diff --git a/mvt/android/cmd_check_androidqf.py b/mvt/android/cmd_check_androidqf.py index f0fd778..ed04c7a 100644 --- a/mvt/android/cmd_check_androidqf.py +++ b/mvt/android/cmd_check_androidqf.py @@ -21,7 +21,7 @@ class CmdAndroidCheckAndroidQF(Command): ioc_files: Optional[list] = None, module_name: Optional[str] = None, serial: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, hashes: bool = False, ) -> None: super().__init__( @@ -30,7 +30,7 @@ class CmdAndroidCheckAndroidQF(Command): ioc_files=ioc_files, module_name=module_name, serial=serial, - fast_mode=fast_mode, + module_options=module_options, hashes=hashes, log=log, ) diff --git a/mvt/android/cmd_check_backup.py b/mvt/android/cmd_check_backup.py index d310b47..1949311 100644 --- a/mvt/android/cmd_check_backup.py +++ b/mvt/android/cmd_check_backup.py @@ -35,7 +35,7 @@ class CmdAndroidCheckBackup(Command): ioc_files: Optional[list] = None, module_name: Optional[str] = None, serial: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, hashes: bool = False, ) -> None: super().__init__( @@ -44,7 +44,7 @@ class CmdAndroidCheckBackup(Command): ioc_files=ioc_files, module_name=module_name, serial=serial, - fast_mode=fast_mode, + module_options=module_options, hashes=hashes, log=log, ) diff --git a/mvt/android/cmd_check_bugreport.py b/mvt/android/cmd_check_bugreport.py index 123390b..ddb7333 100644 --- a/mvt/android/cmd_check_bugreport.py +++ b/mvt/android/cmd_check_bugreport.py @@ -25,7 +25,7 @@ class CmdAndroidCheckBugreport(Command): ioc_files: Optional[list] = None, module_name: Optional[str] = None, serial: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, hashes: bool = False, ) -> None: super().__init__( @@ -34,7 +34,7 @@ class CmdAndroidCheckBugreport(Command): ioc_files=ioc_files, module_name=module_name, serial=serial, - fast_mode=fast_mode, + module_options=module_options, hashes=hashes, log=log, ) diff --git a/mvt/android/modules/adb/base.py b/mvt/android/modules/adb/base.py index 726b3c6..933cdba 100644 --- a/mvt/android/modules/adb/base.py +++ b/mvt/android/modules/adb/base.py @@ -44,7 +44,7 @@ class AndroidExtraction(MVTModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -52,7 +52,7 @@ class AndroidExtraction(MVTModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/chrome_history.py b/mvt/android/modules/adb/chrome_history.py index b58d265..18b7a28 100644 --- a/mvt/android/modules/adb/chrome_history.py +++ b/mvt/android/modules/adb/chrome_history.py @@ -23,7 +23,7 @@ class ChromeHistory(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -31,7 +31,7 @@ class ChromeHistory(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/dumpsys_accessibility.py b/mvt/android/modules/adb/dumpsys_accessibility.py index d7f8728..c3a5634 100644 --- a/mvt/android/modules/adb/dumpsys_accessibility.py +++ b/mvt/android/modules/adb/dumpsys_accessibility.py @@ -19,7 +19,7 @@ class DumpsysAccessibility(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class DumpsysAccessibility(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/dumpsys_activities.py b/mvt/android/modules/adb/dumpsys_activities.py index bf5b421..3c809db 100644 --- a/mvt/android/modules/adb/dumpsys_activities.py +++ b/mvt/android/modules/adb/dumpsys_activities.py @@ -19,7 +19,7 @@ class DumpsysActivities(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class DumpsysActivities(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/dumpsys_appops.py b/mvt/android/modules/adb/dumpsys_appops.py index aeb6805..aaaf537 100644 --- a/mvt/android/modules/adb/dumpsys_appops.py +++ b/mvt/android/modules/adb/dumpsys_appops.py @@ -21,7 +21,7 @@ class DumpsysAppOps(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -29,7 +29,7 @@ class DumpsysAppOps(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/dumpsys_battery_daily.py b/mvt/android/modules/adb/dumpsys_battery_daily.py index 8a9c4a6..5798dba 100644 --- a/mvt/android/modules/adb/dumpsys_battery_daily.py +++ b/mvt/android/modules/adb/dumpsys_battery_daily.py @@ -19,7 +19,7 @@ class DumpsysBatteryDaily(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class DumpsysBatteryDaily(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/dumpsys_battery_history.py b/mvt/android/modules/adb/dumpsys_battery_history.py index 6e505a4..66bd3f4 100644 --- a/mvt/android/modules/adb/dumpsys_battery_history.py +++ b/mvt/android/modules/adb/dumpsys_battery_history.py @@ -19,7 +19,7 @@ class DumpsysBatteryHistory(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class DumpsysBatteryHistory(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/dumpsys_dbinfo.py b/mvt/android/modules/adb/dumpsys_dbinfo.py index 74cb6b9..fc32697 100644 --- a/mvt/android/modules/adb/dumpsys_dbinfo.py +++ b/mvt/android/modules/adb/dumpsys_dbinfo.py @@ -21,7 +21,7 @@ class DumpsysDBInfo(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -29,7 +29,7 @@ class DumpsysDBInfo(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/dumpsys_full.py b/mvt/android/modules/adb/dumpsys_full.py index b9d55e2..c5090e5 100644 --- a/mvt/android/modules/adb/dumpsys_full.py +++ b/mvt/android/modules/adb/dumpsys_full.py @@ -18,7 +18,7 @@ class DumpsysFull(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -26,7 +26,7 @@ class DumpsysFull(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/dumpsys_receivers.py b/mvt/android/modules/adb/dumpsys_receivers.py index 618e421..4529b38 100644 --- a/mvt/android/modules/adb/dumpsys_receivers.py +++ b/mvt/android/modules/adb/dumpsys_receivers.py @@ -25,7 +25,7 @@ class DumpsysReceivers(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -33,7 +33,7 @@ class DumpsysReceivers(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/files.py b/mvt/android/modules/adb/files.py index 0916634..a8c5b61 100644 --- a/mvt/android/modules/adb/files.py +++ b/mvt/android/modules/adb/files.py @@ -30,7 +30,7 @@ class Files(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -38,7 +38,7 @@ class Files(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) @@ -142,8 +142,10 @@ class Files(AndroidExtraction): "Found %s files in primary Android tmp and media folders", len(self.results) ) - if self.fast_mode: - self.log.info("Flag --fast was enabled: skipping full file listing") + if self.module_options.get("fast_mode", None): + self.log.info( + "The `fast_mode` option was enabled: skipping full file listing" + ) else: self.log.info("Processing full file listing. This may take a while...") self.find_files("/") diff --git a/mvt/android/modules/adb/getprop.py b/mvt/android/modules/adb/getprop.py index 1b793e5..12ae343 100644 --- a/mvt/android/modules/adb/getprop.py +++ b/mvt/android/modules/adb/getprop.py @@ -20,7 +20,7 @@ class Getprop(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -28,7 +28,7 @@ class Getprop(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/logcat.py b/mvt/android/modules/adb/logcat.py index 65ad67e..f9d03bb 100644 --- a/mvt/android/modules/adb/logcat.py +++ b/mvt/android/modules/adb/logcat.py @@ -18,7 +18,7 @@ class Logcat(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -26,7 +26,7 @@ class Logcat(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/packages.py b/mvt/android/modules/adb/packages.py index a6cc613..303c6cc 100644 --- a/mvt/android/modules/adb/packages.py +++ b/mvt/android/modules/adb/packages.py @@ -93,7 +93,7 @@ class Packages(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -101,7 +101,7 @@ class Packages(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) @@ -351,7 +351,7 @@ class Packages(AndroidExtraction): result["timestamp"], ) - if not self.fast_mode: + if not self.module_options.get("fast_mode", None): self.check_virustotal(packages_to_lookup) self.log.info( diff --git a/mvt/android/modules/adb/processes.py b/mvt/android/modules/adb/processes.py index 7f12e25..0f0758c 100644 --- a/mvt/android/modules/adb/processes.py +++ b/mvt/android/modules/adb/processes.py @@ -17,7 +17,7 @@ class Processes(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -25,7 +25,7 @@ class Processes(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/root_binaries.py b/mvt/android/modules/adb/root_binaries.py index 0087e02..f6d29a5 100644 --- a/mvt/android/modules/adb/root_binaries.py +++ b/mvt/android/modules/adb/root_binaries.py @@ -17,7 +17,7 @@ class RootBinaries(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -25,7 +25,7 @@ class RootBinaries(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/selinux_status.py b/mvt/android/modules/adb/selinux_status.py index 5246d83..92366d2 100644 --- a/mvt/android/modules/adb/selinux_status.py +++ b/mvt/android/modules/adb/selinux_status.py @@ -19,7 +19,7 @@ class SELinuxStatus(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class SELinuxStatus(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/settings.py b/mvt/android/modules/adb/settings.py index 1ae9370..8dc2643 100644 --- a/mvt/android/modules/adb/settings.py +++ b/mvt/android/modules/adb/settings.py @@ -65,7 +65,7 @@ class Settings(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -73,7 +73,7 @@ class Settings(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/sms.py b/mvt/android/modules/adb/sms.py index 05e6b58..6230327 100644 --- a/mvt/android/modules/adb/sms.py +++ b/mvt/android/modules/adb/sms.py @@ -49,7 +49,7 @@ class SMS(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -57,7 +57,7 @@ class SMS(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/adb/whatsapp.py b/mvt/android/modules/adb/whatsapp.py index 1d43ee3..906d64d 100644 --- a/mvt/android/modules/adb/whatsapp.py +++ b/mvt/android/modules/adb/whatsapp.py @@ -24,7 +24,7 @@ class Whatsapp(AndroidExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -32,7 +32,7 @@ class Whatsapp(AndroidExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/androidqf/base.py b/mvt/android/modules/androidqf/base.py index f36758f..b0f08c9 100644 --- a/mvt/android/modules/androidqf/base.py +++ b/mvt/android/modules/androidqf/base.py @@ -19,7 +19,7 @@ class AndroidQFModule(MVTModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Union[List[Dict[str, Any]], Dict[str, Any], None] = None, ) -> None: @@ -27,7 +27,7 @@ class AndroidQFModule(MVTModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/androidqf/dumpsys_accessibility.py b/mvt/android/modules/androidqf/dumpsys_accessibility.py index b35ae48..efd0790 100644 --- a/mvt/android/modules/androidqf/dumpsys_accessibility.py +++ b/mvt/android/modules/androidqf/dumpsys_accessibility.py @@ -19,7 +19,7 @@ class DumpsysAccessibility(AndroidQFModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class DumpsysAccessibility(AndroidQFModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/androidqf/dumpsys_activities.py b/mvt/android/modules/androidqf/dumpsys_activities.py index 18db694..7abd167 100644 --- a/mvt/android/modules/androidqf/dumpsys_activities.py +++ b/mvt/android/modules/androidqf/dumpsys_activities.py @@ -19,7 +19,7 @@ class DumpsysActivities(AndroidQFModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class DumpsysActivities(AndroidQFModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/androidqf/dumpsys_appops.py b/mvt/android/modules/androidqf/dumpsys_appops.py index e3ff57b..c89e135 100644 --- a/mvt/android/modules/androidqf/dumpsys_appops.py +++ b/mvt/android/modules/androidqf/dumpsys_appops.py @@ -17,7 +17,7 @@ class DumpsysAppops(AndroidQFModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -25,7 +25,7 @@ class DumpsysAppops(AndroidQFModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/androidqf/dumpsys_packages.py b/mvt/android/modules/androidqf/dumpsys_packages.py index 71e6166..b531d1d 100644 --- a/mvt/android/modules/androidqf/dumpsys_packages.py +++ b/mvt/android/modules/androidqf/dumpsys_packages.py @@ -24,7 +24,7 @@ class DumpsysPackages(AndroidQFModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[List[Dict[str, Any]]] = None, ) -> None: @@ -32,7 +32,7 @@ class DumpsysPackages(AndroidQFModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/androidqf/dumpsys_receivers.py b/mvt/android/modules/androidqf/dumpsys_receivers.py index db91316..ceea87c 100644 --- a/mvt/android/modules/androidqf/dumpsys_receivers.py +++ b/mvt/android/modules/androidqf/dumpsys_receivers.py @@ -26,7 +26,7 @@ class DumpsysReceivers(AndroidQFModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Union[List[Any], Dict[str, Any], None] = None, ) -> None: @@ -34,7 +34,7 @@ class DumpsysReceivers(AndroidQFModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/androidqf/getprop.py b/mvt/android/modules/androidqf/getprop.py index 3ba63cb..ab3f49d 100644 --- a/mvt/android/modules/androidqf/getprop.py +++ b/mvt/android/modules/androidqf/getprop.py @@ -34,7 +34,7 @@ class Getprop(AndroidQFModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -42,7 +42,7 @@ class Getprop(AndroidQFModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/androidqf/processes.py b/mvt/android/modules/androidqf/processes.py index 2043b0a..4b52426 100644 --- a/mvt/android/modules/androidqf/processes.py +++ b/mvt/android/modules/androidqf/processes.py @@ -17,7 +17,7 @@ class Processes(AndroidQFModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -25,7 +25,7 @@ class Processes(AndroidQFModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/androidqf/settings.py b/mvt/android/modules/androidqf/settings.py index 4e3ca39..7f2ac1e 100644 --- a/mvt/android/modules/androidqf/settings.py +++ b/mvt/android/modules/androidqf/settings.py @@ -19,7 +19,7 @@ class Settings(AndroidQFModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class Settings(AndroidQFModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/androidqf/sms.py b/mvt/android/modules/androidqf/sms.py index 58c436c..a9a9e11 100644 --- a/mvt/android/modules/androidqf/sms.py +++ b/mvt/android/modules/androidqf/sms.py @@ -26,7 +26,7 @@ class SMS(AndroidQFModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -34,7 +34,7 @@ class SMS(AndroidQFModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/backup/base.py b/mvt/android/modules/backup/base.py index 7e35dd0..be96b9b 100644 --- a/mvt/android/modules/backup/base.py +++ b/mvt/android/modules/backup/base.py @@ -20,7 +20,7 @@ class BackupExtraction(MVTModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -28,7 +28,7 @@ class BackupExtraction(MVTModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/backup/sms.py b/mvt/android/modules/backup/sms.py index 4e1a1e8..e9ad903 100644 --- a/mvt/android/modules/backup/sms.py +++ b/mvt/android/modules/backup/sms.py @@ -17,7 +17,7 @@ class SMS(BackupExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -25,7 +25,7 @@ class SMS(BackupExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/bugreport/accessibility.py b/mvt/android/modules/bugreport/accessibility.py index d69ede1..a7695b3 100644 --- a/mvt/android/modules/bugreport/accessibility.py +++ b/mvt/android/modules/bugreport/accessibility.py @@ -19,7 +19,7 @@ class Accessibility(BugReportModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class Accessibility(BugReportModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/bugreport/activities.py b/mvt/android/modules/bugreport/activities.py index e82b3bb..0039082 100644 --- a/mvt/android/modules/bugreport/activities.py +++ b/mvt/android/modules/bugreport/activities.py @@ -19,7 +19,7 @@ class Activities(BugReportModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class Activities(BugReportModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/bugreport/appops.py b/mvt/android/modules/bugreport/appops.py index 71417e7..0beb022 100644 --- a/mvt/android/modules/bugreport/appops.py +++ b/mvt/android/modules/bugreport/appops.py @@ -19,7 +19,7 @@ class Appops(BugReportModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class Appops(BugReportModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/bugreport/base.py b/mvt/android/modules/bugreport/base.py index 4ed2026..7f169b7 100644 --- a/mvt/android/modules/bugreport/base.py +++ b/mvt/android/modules/bugreport/base.py @@ -20,7 +20,7 @@ class BugReportModule(MVTModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -28,7 +28,7 @@ class BugReportModule(MVTModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/bugreport/battery_daily.py b/mvt/android/modules/bugreport/battery_daily.py index 0700801..93e5ba3 100644 --- a/mvt/android/modules/bugreport/battery_daily.py +++ b/mvt/android/modules/bugreport/battery_daily.py @@ -19,7 +19,7 @@ class BatteryDaily(BugReportModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class BatteryDaily(BugReportModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/bugreport/battery_history.py b/mvt/android/modules/bugreport/battery_history.py index 3aafd34..4cf02d6 100644 --- a/mvt/android/modules/bugreport/battery_history.py +++ b/mvt/android/modules/bugreport/battery_history.py @@ -19,7 +19,7 @@ class BatteryHistory(BugReportModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -27,7 +27,7 @@ class BatteryHistory(BugReportModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/bugreport/dbinfo.py b/mvt/android/modules/bugreport/dbinfo.py index 01e86a1..dc37a6f 100644 --- a/mvt/android/modules/bugreport/dbinfo.py +++ b/mvt/android/modules/bugreport/dbinfo.py @@ -21,7 +21,7 @@ class DBInfo(BugReportModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -29,7 +29,7 @@ class DBInfo(BugReportModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/bugreport/getprop.py b/mvt/android/modules/bugreport/getprop.py index b9fe673..f272bf7 100644 --- a/mvt/android/modules/bugreport/getprop.py +++ b/mvt/android/modules/bugreport/getprop.py @@ -20,7 +20,7 @@ class Getprop(BugReportModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -28,7 +28,7 @@ class Getprop(BugReportModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/bugreport/packages.py b/mvt/android/modules/bugreport/packages.py index 53c5431..4eaae7b 100644 --- a/mvt/android/modules/bugreport/packages.py +++ b/mvt/android/modules/bugreport/packages.py @@ -24,7 +24,7 @@ class Packages(BugReportModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -32,7 +32,7 @@ class Packages(BugReportModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/android/modules/bugreport/receivers.py b/mvt/android/modules/bugreport/receivers.py index 1469d6d..79e80e6 100644 --- a/mvt/android/modules/bugreport/receivers.py +++ b/mvt/android/modules/bugreport/receivers.py @@ -25,7 +25,7 @@ class Receivers(BugReportModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -33,7 +33,7 @@ class Receivers(BugReportModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/common/cmd_check_iocs.py b/mvt/common/cmd_check_iocs.py index 2277241..27f30a7 100644 --- a/mvt/common/cmd_check_iocs.py +++ b/mvt/common/cmd_check_iocs.py @@ -21,7 +21,7 @@ class CmdCheckIOCS(Command): ioc_files: Optional[list] = None, module_name: Optional[str] = None, serial: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, ) -> None: super().__init__( target_path=target_path, @@ -29,7 +29,7 @@ class CmdCheckIOCS(Command): ioc_files=ioc_files, module_name=module_name, serial=serial, - fast_mode=fast_mode, + module_options=module_options, log=log, ) diff --git a/mvt/common/command.py b/mvt/common/command.py index 5406c35..9d96f55 100644 --- a/mvt/common/command.py +++ b/mvt/common/command.py @@ -28,7 +28,7 @@ class Command: ioc_files: Optional[list] = None, module_name: Optional[str] = None, serial: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, hashes: bool = False, log: logging.Logger = logging.getLogger(__name__), ) -> None: @@ -40,9 +40,13 @@ class Command: self.ioc_files = ioc_files if ioc_files else [] self.module_name = module_name self.serial = serial - self.fast_mode = fast_mode self.log = log + # This dictionary can contain options that will be passed down from + # the Command to all modules. This can for example be used to pass + # down a password to decrypt a backup or flags which are need by some modules. + self.module_options = module_options if module_options else {} + # This list will contain all executed modules. # We can use this to reference e.g. self.executed[0].results. self.executed = [] @@ -172,7 +176,7 @@ class Command: m = module( target_path=self.target_path, results_path=self.results_path, - fast_mode=self.fast_mode, + module_options=self.module_options, log=module_logger, ) diff --git a/mvt/common/module.py b/mvt/common/module.py index 2b7f21d..d5821d5 100644 --- a/mvt/common/module.py +++ b/mvt/common/module.py @@ -37,7 +37,7 @@ class MVTModule: file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[Dict[str, Any]] = None, log: logging.Logger = logging.getLogger(__name__), results: Union[List[Dict[str, Any]], Dict[str, Any], None] = None, ) -> None: @@ -59,7 +59,7 @@ class MVTModule: self.file_path = file_path self.target_path = target_path self.results_path = results_path - self.fast_mode = fast_mode + self.module_options = module_options if module_options else {} self.log = log self.indicators = None self.results = results if results else [] diff --git a/mvt/ios/cli.py b/mvt/ios/cli.py index b548d5c..87bc45c 100644 --- a/mvt/ios/cli.py +++ b/mvt/ios/cli.py @@ -219,13 +219,14 @@ def check_backup( ctx, iocs, output, fast, list_modules, module, hashes, verbose, backup_path ): set_verbose_logging(verbose) + module_options = {"fast_mode": fast} cmd = CmdIOSCheckBackup( target_path=backup_path, results_path=output, ioc_files=iocs, module_name=module, - fast_mode=fast, + module_options=module_options, hashes=hashes, ) @@ -269,12 +270,14 @@ def check_backup( @click.pass_context def check_fs(ctx, iocs, output, fast, list_modules, module, hashes, verbose, dump_path): set_verbose_logging(verbose) + module_options = {"fast_mode": fast} + cmd = CmdIOSCheckFS( target_path=dump_path, results_path=output, ioc_files=iocs, module_name=module, - fast_mode=fast, + module_options=module_options, hashes=hashes, ) diff --git a/mvt/ios/cmd_check_backup.py b/mvt/ios/cmd_check_backup.py index b0fdefb..1d10e44 100644 --- a/mvt/ios/cmd_check_backup.py +++ b/mvt/ios/cmd_check_backup.py @@ -22,7 +22,7 @@ class CmdIOSCheckBackup(Command): ioc_files: Optional[list] = None, module_name: Optional[str] = None, serial: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, hashes: bool = False, ) -> None: super().__init__( @@ -31,7 +31,7 @@ class CmdIOSCheckBackup(Command): ioc_files=ioc_files, module_name=module_name, serial=serial, - fast_mode=fast_mode, + module_options=module_options, hashes=hashes, log=log, ) diff --git a/mvt/ios/cmd_check_fs.py b/mvt/ios/cmd_check_fs.py index 6365904..61ee9b6 100644 --- a/mvt/ios/cmd_check_fs.py +++ b/mvt/ios/cmd_check_fs.py @@ -22,7 +22,7 @@ class CmdIOSCheckFS(Command): ioc_files: Optional[list] = None, module_name: Optional[str] = None, serial: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, hashes: bool = False, ) -> None: super().__init__( @@ -31,7 +31,7 @@ class CmdIOSCheckFS(Command): ioc_files=ioc_files, module_name=module_name, serial=serial, - fast_mode=fast_mode, + module_options=module_options, hashes=hashes, log=log, ) diff --git a/mvt/ios/modules/backup/backup_info.py b/mvt/ios/modules/backup/backup_info.py index 8bc26e6..11be9c3 100644 --- a/mvt/ios/modules/backup/backup_info.py +++ b/mvt/ios/modules/backup/backup_info.py @@ -22,7 +22,7 @@ class BackupInfo(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -30,7 +30,7 @@ class BackupInfo(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/backup/configuration_profiles.py b/mvt/ios/modules/backup/configuration_profiles.py index df32eed..e1d076e 100644 --- a/mvt/ios/modules/backup/configuration_profiles.py +++ b/mvt/ios/modules/backup/configuration_profiles.py @@ -26,7 +26,7 @@ class ConfigurationProfiles(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -34,7 +34,7 @@ class ConfigurationProfiles(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/backup/manifest.py b/mvt/ios/modules/backup/manifest.py index 917d949..3a596f9 100644 --- a/mvt/ios/modules/backup/manifest.py +++ b/mvt/ios/modules/backup/manifest.py @@ -26,7 +26,7 @@ class Manifest(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -34,7 +34,7 @@ class Manifest(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/backup/profile_events.py b/mvt/ios/modules/backup/profile_events.py index 758bfa1..d6b8fd6 100644 --- a/mvt/ios/modules/backup/profile_events.py +++ b/mvt/ios/modules/backup/profile_events.py @@ -27,7 +27,7 @@ class ProfileEvents(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -35,7 +35,7 @@ class ProfileEvents(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/base.py b/mvt/ios/modules/base.py index a5a01a4..799ab9a 100644 --- a/mvt/ios/modules/base.py +++ b/mvt/ios/modules/base.py @@ -23,7 +23,7 @@ class IOSExtraction(MVTModule): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -31,7 +31,7 @@ class IOSExtraction(MVTModule): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/fs/analytics.py b/mvt/ios/modules/fs/analytics.py index 401cc34..8c209a6 100644 --- a/mvt/ios/modules/fs/analytics.py +++ b/mvt/ios/modules/fs/analytics.py @@ -27,7 +27,7 @@ class Analytics(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -35,7 +35,7 @@ class Analytics(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/fs/analytics_ios_versions.py b/mvt/ios/modules/fs/analytics_ios_versions.py index 1320923..4c4f48f 100644 --- a/mvt/ios/modules/fs/analytics_ios_versions.py +++ b/mvt/ios/modules/fs/analytics_ios_versions.py @@ -23,7 +23,7 @@ class AnalyticsIOSVersions(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -31,7 +31,7 @@ class AnalyticsIOSVersions(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/fs/cache_files.py b/mvt/ios/modules/fs/cache_files.py index 90c8b7a..4636c41 100644 --- a/mvt/ios/modules/fs/cache_files.py +++ b/mvt/ios/modules/fs/cache_files.py @@ -17,7 +17,7 @@ class CacheFiles(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -25,7 +25,7 @@ class CacheFiles(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/fs/filesystem.py b/mvt/ios/modules/fs/filesystem.py index b8b2a04..47ae129 100644 --- a/mvt/ios/modules/fs/filesystem.py +++ b/mvt/ios/modules/fs/filesystem.py @@ -22,7 +22,7 @@ class Filesystem(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -30,7 +30,7 @@ class Filesystem(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) @@ -57,7 +57,7 @@ class Filesystem(IOSExtraction): self.detected.append(result) # If we are instructed to run fast, we skip the rest. - if self.fast_mode: + if self.module_options.get("fast_mode", None): continue ioc = self.indicators.check_file_path_process(result["path"]) diff --git a/mvt/ios/modules/fs/net_netusage.py b/mvt/ios/modules/fs/net_netusage.py index a133694..225e21d 100644 --- a/mvt/ios/modules/fs/net_netusage.py +++ b/mvt/ios/modules/fs/net_netusage.py @@ -27,7 +27,7 @@ class Netusage(NetBase): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -35,7 +35,7 @@ class Netusage(NetBase): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/fs/safari_favicon.py b/mvt/ios/modules/fs/safari_favicon.py index f484151..b04dc47 100644 --- a/mvt/ios/modules/fs/safari_favicon.py +++ b/mvt/ios/modules/fs/safari_favicon.py @@ -25,7 +25,7 @@ class SafariFavicon(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -33,7 +33,7 @@ class SafariFavicon(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/fs/shutdownlog.py b/mvt/ios/modules/fs/shutdownlog.py index e14daf9..c70190c 100644 --- a/mvt/ios/modules/fs/shutdownlog.py +++ b/mvt/ios/modules/fs/shutdownlog.py @@ -23,7 +23,7 @@ class ShutdownLog(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -31,7 +31,7 @@ class ShutdownLog(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/fs/version_history.py b/mvt/ios/modules/fs/version_history.py index 12e9b70..22f4307 100644 --- a/mvt/ios/modules/fs/version_history.py +++ b/mvt/ios/modules/fs/version_history.py @@ -25,7 +25,7 @@ class IOSVersionHistory(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -33,7 +33,7 @@ class IOSVersionHistory(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/fs/webkit_indexeddb.py b/mvt/ios/modules/fs/webkit_indexeddb.py index c39a506..5ed9985 100644 --- a/mvt/ios/modules/fs/webkit_indexeddb.py +++ b/mvt/ios/modules/fs/webkit_indexeddb.py @@ -27,7 +27,7 @@ class WebkitIndexedDB(WebkitBase): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -35,7 +35,7 @@ class WebkitIndexedDB(WebkitBase): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/fs/webkit_localstorage.py b/mvt/ios/modules/fs/webkit_localstorage.py index eac3880..c1079ef 100644 --- a/mvt/ios/modules/fs/webkit_localstorage.py +++ b/mvt/ios/modules/fs/webkit_localstorage.py @@ -25,7 +25,7 @@ class WebkitLocalStorage(WebkitBase): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -33,7 +33,7 @@ class WebkitLocalStorage(WebkitBase): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/fs/webkit_safariviewservice.py b/mvt/ios/modules/fs/webkit_safariviewservice.py index b537326..bed0e7a 100644 --- a/mvt/ios/modules/fs/webkit_safariviewservice.py +++ b/mvt/ios/modules/fs/webkit_safariviewservice.py @@ -25,7 +25,7 @@ class WebkitSafariViewService(WebkitBase): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -33,7 +33,7 @@ class WebkitSafariViewService(WebkitBase): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/applications.py b/mvt/ios/modules/mixed/applications.py index d510263..1f82cfd 100644 --- a/mvt/ios/modules/mixed/applications.py +++ b/mvt/ios/modules/mixed/applications.py @@ -27,7 +27,7 @@ class Applications(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -35,7 +35,7 @@ class Applications(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/calendar.py b/mvt/ios/modules/mixed/calendar.py index 7bc2716..03e891b 100644 --- a/mvt/ios/modules/mixed/calendar.py +++ b/mvt/ios/modules/mixed/calendar.py @@ -25,7 +25,7 @@ class Calendar(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -33,7 +33,7 @@ class Calendar(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/calls.py b/mvt/ios/modules/mixed/calls.py index 18b3857..7d9b4db 100644 --- a/mvt/ios/modules/mixed/calls.py +++ b/mvt/ios/modules/mixed/calls.py @@ -5,7 +5,7 @@ import logging import sqlite3 -from typing import Union +from typing import Union, Optional from mvt.common.utils import convert_mactime_to_iso @@ -25,7 +25,7 @@ class Calls(IOSExtraction): file_path: str = None, target_path: str = None, results_path: str = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: list = [], ) -> None: @@ -33,7 +33,7 @@ class Calls(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/chrome_favicon.py b/mvt/ios/modules/mixed/chrome_favicon.py index 4c27c3d..3159011 100644 --- a/mvt/ios/modules/mixed/chrome_favicon.py +++ b/mvt/ios/modules/mixed/chrome_favicon.py @@ -26,7 +26,7 @@ class ChromeFavicon(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -34,7 +34,7 @@ class ChromeFavicon(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/chrome_history.py b/mvt/ios/modules/mixed/chrome_history.py index 1997059..7e7110f 100644 --- a/mvt/ios/modules/mixed/chrome_history.py +++ b/mvt/ios/modules/mixed/chrome_history.py @@ -28,7 +28,7 @@ class ChromeHistory(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -36,7 +36,7 @@ class ChromeHistory(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/contacts.py b/mvt/ios/modules/mixed/contacts.py index 8f2f2cf..173c592 100644 --- a/mvt/ios/modules/mixed/contacts.py +++ b/mvt/ios/modules/mixed/contacts.py @@ -25,7 +25,7 @@ class Contacts(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -33,7 +33,7 @@ class Contacts(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/firefox_favicon.py b/mvt/ios/modules/mixed/firefox_favicon.py index bb6c492..ee0395d 100644 --- a/mvt/ios/modules/mixed/firefox_favicon.py +++ b/mvt/ios/modules/mixed/firefox_favicon.py @@ -27,7 +27,7 @@ class FirefoxFavicon(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -35,7 +35,7 @@ class FirefoxFavicon(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/firefox_history.py b/mvt/ios/modules/mixed/firefox_history.py index 70751bf..b0bba51 100644 --- a/mvt/ios/modules/mixed/firefox_history.py +++ b/mvt/ios/modules/mixed/firefox_history.py @@ -31,7 +31,7 @@ class FirefoxHistory(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -39,7 +39,7 @@ class FirefoxHistory(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/idstatuscache.py b/mvt/ios/modules/mixed/idstatuscache.py index a8252c4..76b7f6b 100644 --- a/mvt/ios/modules/mixed/idstatuscache.py +++ b/mvt/ios/modules/mixed/idstatuscache.py @@ -29,7 +29,7 @@ class IDStatusCache(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -37,7 +37,7 @@ class IDStatusCache(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/interactionc.py b/mvt/ios/modules/mixed/interactionc.py index d4c75df..85a0d21 100644 --- a/mvt/ios/modules/mixed/interactionc.py +++ b/mvt/ios/modules/mixed/interactionc.py @@ -221,7 +221,7 @@ class InteractionC(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -229,7 +229,7 @@ class InteractionC(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/locationd.py b/mvt/ios/modules/mixed/locationd.py index 8af9753..e81bde5 100644 --- a/mvt/ios/modules/mixed/locationd.py +++ b/mvt/ios/modules/mixed/locationd.py @@ -28,7 +28,7 @@ class LocationdClients(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -36,7 +36,7 @@ class LocationdClients(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/net_datausage.py b/mvt/ios/modules/mixed/net_datausage.py index 60526bf..e454425 100644 --- a/mvt/ios/modules/mixed/net_datausage.py +++ b/mvt/ios/modules/mixed/net_datausage.py @@ -28,7 +28,7 @@ class Datausage(NetBase): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -36,7 +36,7 @@ class Datausage(NetBase): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/osanalytics_addaily.py b/mvt/ios/modules/mixed/osanalytics_addaily.py index 7800a5f..7f59415 100644 --- a/mvt/ios/modules/mixed/osanalytics_addaily.py +++ b/mvt/ios/modules/mixed/osanalytics_addaily.py @@ -28,7 +28,7 @@ class OSAnalyticsADDaily(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -36,7 +36,7 @@ class OSAnalyticsADDaily(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/safari_browserstate.py b/mvt/ios/modules/mixed/safari_browserstate.py index ffb26b9..55673fa 100644 --- a/mvt/ios/modules/mixed/safari_browserstate.py +++ b/mvt/ios/modules/mixed/safari_browserstate.py @@ -29,7 +29,7 @@ class SafariBrowserState(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -37,7 +37,7 @@ class SafariBrowserState(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/safari_history.py b/mvt/ios/modules/mixed/safari_history.py index 51e0ee5..d9fd269 100644 --- a/mvt/ios/modules/mixed/safari_history.py +++ b/mvt/ios/modules/mixed/safari_history.py @@ -32,7 +32,7 @@ class SafariHistory(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -40,7 +40,7 @@ class SafariHistory(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/shortcuts.py b/mvt/ios/modules/mixed/shortcuts.py index 6655d3f..57079ce 100644 --- a/mvt/ios/modules/mixed/shortcuts.py +++ b/mvt/ios/modules/mixed/shortcuts.py @@ -30,7 +30,7 @@ class Shortcuts(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -38,7 +38,7 @@ class Shortcuts(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/sms.py b/mvt/ios/modules/mixed/sms.py index 1006cac..b1bfa6c 100644 --- a/mvt/ios/modules/mixed/sms.py +++ b/mvt/ios/modules/mixed/sms.py @@ -28,7 +28,7 @@ class SMS(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -36,7 +36,7 @@ class SMS(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/sms_attachments.py b/mvt/ios/modules/mixed/sms_attachments.py index 0be6046..00a52cb 100644 --- a/mvt/ios/modules/mixed/sms_attachments.py +++ b/mvt/ios/modules/mixed/sms_attachments.py @@ -28,7 +28,7 @@ class SMSAttachments(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -36,7 +36,7 @@ class SMSAttachments(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/tcc.py b/mvt/ios/modules/mixed/tcc.py index 1212f75..2a2417c 100644 --- a/mvt/ios/modules/mixed/tcc.py +++ b/mvt/ios/modules/mixed/tcc.py @@ -49,7 +49,7 @@ class TCC(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -57,7 +57,7 @@ class TCC(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/webkit_resource_load_statistics.py b/mvt/ios/modules/mixed/webkit_resource_load_statistics.py index 37d8967..0fec08d 100644 --- a/mvt/ios/modules/mixed/webkit_resource_load_statistics.py +++ b/mvt/ios/modules/mixed/webkit_resource_load_statistics.py @@ -28,7 +28,7 @@ class WebkitResourceLoadStatistics(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -36,7 +36,7 @@ class WebkitResourceLoadStatistics(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/webkit_session_resource_log.py b/mvt/ios/modules/mixed/webkit_session_resource_log.py index 96b7cec..474b4f4 100644 --- a/mvt/ios/modules/mixed/webkit_session_resource_log.py +++ b/mvt/ios/modules/mixed/webkit_session_resource_log.py @@ -36,7 +36,7 @@ class WebkitSessionResourceLog(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -44,7 +44,7 @@ class WebkitSessionResourceLog(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/mixed/whatsapp.py b/mvt/ios/modules/mixed/whatsapp.py index 3287eb7..156482f 100644 --- a/mvt/ios/modules/mixed/whatsapp.py +++ b/mvt/ios/modules/mixed/whatsapp.py @@ -27,7 +27,7 @@ class Whatsapp(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -35,7 +35,7 @@ class Whatsapp(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) diff --git a/mvt/ios/modules/net_base.py b/mvt/ios/modules/net_base.py index 99a432d..5f2123e 100644 --- a/mvt/ios/modules/net_base.py +++ b/mvt/ios/modules/net_base.py @@ -23,7 +23,7 @@ class NetBase(IOSExtraction): file_path: Optional[str] = None, target_path: Optional[str] = None, results_path: Optional[str] = None, - fast_mode: bool = False, + module_options: Optional[dict] = None, log: logging.Logger = logging.getLogger(__name__), results: Optional[list] = None, ) -> None: @@ -31,7 +31,7 @@ class NetBase(IOSExtraction): file_path=file_path, target_path=target_path, results_path=results_path, - fast_mode=fast_mode, + module_options=module_options, log=log, results=results, ) @@ -157,9 +157,9 @@ class NetBase(IOSExtraction): return # If we are instructed to run fast, we skip this. - if self.fast_mode: + if self.module_options.get("fast_mode", None): self.log.info( - "Flag --fast was enabled: skipping extended " + "Option 'fast_mode' was enabled: skipping extended " "search for suspicious processes" ) return