diff --git a/mvt/android/cli.py b/mvt/android/cli.py index f065c48..a7d3ba7 100644 --- a/mvt/android/cli.py +++ b/mvt/android/cli.py @@ -129,7 +129,7 @@ def download_apks(ctx, all_apks, virustotal, output, from_file, serial, verbose) # ============================================================================== @cli.command( "check-adb", - help="Check an Android device over adb", + help="Check an Android device over ADB", context_settings=CONTEXT_SETTINGS, ) @click.option("--serial", "-s", type=str, help=HELP_MSG_SERIAL) @@ -145,11 +145,28 @@ def download_apks(ctx, all_apks, virustotal, output, from_file, serial, verbose) @click.option("--fast", "-f", is_flag=True, help=HELP_MSG_FAST) @click.option("--list-modules", "-l", is_flag=True, help=HELP_MSG_LIST_MODULES) @click.option("--module", "-m", help=HELP_MSG_MODULE) +@click.option("--non-interactive", "-n", is_flag=True, help=HELP_MSG_NONINTERACTIVE) +@click.option("--backup-password", "-p", help=HELP_MSG_ANDROID_BACKUP_PASSWORD) @click.option("--verbose", "-v", is_flag=True, help=HELP_MSG_VERBOSE) @click.pass_context -def check_adb(ctx, serial, iocs, output, fast, list_modules, module, verbose): +def check_adb( + ctx, + serial, + iocs, + output, + fast, + list_modules, + module, + non_interactive, + backup_password, + verbose, +): set_verbose_logging(verbose) - module_options = {"fast_mode": fast} + module_options = { + "fast_mode": fast, + "interactive": not non_interactive, + "backup_password": cli_load_android_backup_password(log, backup_password), + } cmd = CmdAndroidCheckADB( results_path=output, diff --git a/mvt/android/cmd_check_backup.py b/mvt/android/cmd_check_backup.py index 8d3a95d..22fcd6a 100644 --- a/mvt/android/cmd_check_backup.py +++ b/mvt/android/cmd_check_backup.py @@ -76,7 +76,7 @@ class CmdAndroidCheckBackup(Command): ) if not password: log.critical("No backup password provided.") - return + sys.exit(1) try: tardata = parse_backup_file(data, password=password) except InvalidBackupPassword: diff --git a/mvt/android/modules/adb/base.py b/mvt/android/modules/adb/base.py index 13640c7..78fff01 100644 --- a/mvt/android/modules/adb/base.py +++ b/mvt/android/modules/adb/base.py @@ -312,7 +312,7 @@ class AndroidExtraction(MVTModule): ) if self.module_options.get("backup_password", None): - self.log.notice( + self.log.warning( "Backup password already set from command line or environment " "variable. You should use the same password if enabling encryption!" )