From 0d524d6a3edf58154ebbb297f8238583a0c163df Mon Sep 17 00:00:00 2001 From: Jean-Marie Mineau Date: Tue, 29 Oct 2024 16:25:10 +0100 Subject: [PATCH] 'ignore' errors --- android_class_shadowing_scanner/__init__.py | 24 +++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/android_class_shadowing_scanner/__init__.py b/android_class_shadowing_scanner/__init__.py index f4d02ec..3950da7 100644 --- a/android_class_shadowing_scanner/__init__.py +++ b/android_class_shadowing_scanner/__init__.py @@ -6,6 +6,7 @@ import pprint from argparse import ArgumentParser from pathlib import Path from getpass import getpass +from datetime import datetime from .androzoo import download_apk from .data import ApkData, load_from_directory @@ -110,7 +111,16 @@ def main(): print(f"APK: {str(apk_path)}") with apk_path.open("rb") as file: with zipfile.ZipFile(file) as apk: - entry = analyze(apk, sha256, verbose=args.pprint) + try: + entry = analyze(apk, sha256, verbose=args.pprint) + except Exception as e: + log = f"[{datetime.today().strftime('%Y-%m-%d %H:%M:%S')}] Failed to analyzed {sha256}: {e}, abort" + if logfile: + with logfile.open("a") as file: + file.write(f"{log}\n") + else: + print(log) + continue if args.pprint: pprint.pprint(entry) if not args.output_dir: @@ -162,7 +172,17 @@ def main(): if apk_bin is None: continue with zipfile.ZipFile(io.BytesIO(apk_bin)) as apk: - entry = analyze(apk, sha256, verbose=args.pprint) + try: + entry = analyze(apk, sha256, verbose=args.pprint) + except Exception as e: + log = f"[{datetime.today().strftime('%Y-%m-%d %H:%M:%S')}] Failed to analyzed {sha256}: {e}, abort" + if logfile: + with logfile.open("a") as file: + file.write(f"{log}\n") + else: + print(log) + continue + if args.pprint: pprint.pprint(entry) if not args.output_dir: