From 300c3156eceb4ff8cedcafbd26fb9dd2ce965306 Mon Sep 17 00:00:00 2001 From: Jean-Marie Mineau Date: Mon, 2 Jun 2025 18:30:35 +0200 Subject: [PATCH] list unique non ads bytecode files --- experiment/get_app_runtime_result_distribution.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/experiment/get_app_runtime_result_distribution.py b/experiment/get_app_runtime_result_distribution.py index b5ff238..38f4e43 100644 --- a/experiment/get_app_runtime_result_distribution.py +++ b/experiment/get_app_runtime_result_distribution.py @@ -8,6 +8,7 @@ def run( show_distribution: bool, list_apks_nz_dyn: bool, show_dload_ads: bool, + list_uniq_nonads: bool, ): with summary_p.open("r") as fp: summary = json.load(fp) @@ -28,6 +29,7 @@ def run( nb_dload_appsflyer = 0 dload_hashes_occ = {} dload_hashes_ty = {} + dload_hashes_apps = {} for apk, apk_data in summary["apks"].items(): for h, dload in apk_data["dyn_loaded_files"].items(): if h not in dload_hashes_occ: @@ -42,6 +44,8 @@ def run( else: dload_hashes_ty[h] = "other" + dload_hashes_apps[h] = apk + nb_dload += 1 if dload["facebook_ads"]: nb_dload_fb += 1 @@ -66,6 +70,13 @@ def run( apk_dyn.add(apk) apk_nz_dyn.add(apk) + if list_uniq_nonads: + print("Unique bytecode files not recognized as ads / telemetry:") + print(" Bytecode Hash | apk") + for h, apk in dload_hashes_apps.items(): + if dload_hashes_occ[h] == 1 and dload_hashes_ty[h] == "other": + print(f" {h} | {apk}") + if show_dload_ads: print( f"number of dyn load {nb_dload}" @@ -126,12 +137,14 @@ def main(): parser.add_argument("--list-apks-nz-dyn", action="store_true") parser.add_argument("--show-distribution", action="store_true") parser.add_argument("--show-ads", action="store_true") + parser.add_argument("--list-uniq-nonads", action="store_true") args = parser.parse_args() run( args.summary_runtime, args.show_distribution, args.list_apks_nz_dyn, args.show_ads, + args.list_uniq_nonads, )