diff --git a/mvt/android/cli.py b/mvt/android/cli.py index 3d3adb9..49bec62 100644 --- a/mvt/android/cli.py +++ b/mvt/android/cli.py @@ -30,6 +30,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']) #============================================================================== @@ -51,7 +52,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") @@ -100,7 +102,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) @@ -130,7 +133,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), @@ -160,7 +164,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), @@ -188,7 +193,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), @@ -218,7 +224,8 @@ def check_androidqf(ctx, iocs, output, list_modules, module, androidqf_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) @@ -239,7 +246,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/ios/cli.py b/mvt/ios/cli.py index 12c1b8f..58e9c2f 100644 --- a/mvt/ios/cli.py +++ b/mvt/ios/cli.py @@ -33,6 +33,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']) #============================================================================== @@ -54,7 +55,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, @@ -103,7 +105,8 @@ def decrypt_backup(ctx, destination, password, key_file, 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)") @@ -140,7 +143,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), @@ -170,7 +174,8 @@ def check_backup(ctx, iocs, output, fast, list_modules, module, backup_path): #============================================================================== # 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), @@ -200,7 +205,8 @@ def check_fs(ctx, iocs, output, fast, list_modules, module, 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) @@ -221,7 +227,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()