From 7edf1471122720fe6dd4cc3147911c86aa857dd6 Mon Sep 17 00:00:00 2001 From: Nex Date: Tue, 17 Aug 2021 13:26:04 +0200 Subject: [PATCH] Better handling of package parsing and more logging (closes: #102) --- mvt/android/modules/adb/packages.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/mvt/android/modules/adb/packages.py b/mvt/android/modules/adb/packages.py index 9848d3e..ad95102 100644 --- a/mvt/android/modules/adb/packages.py +++ b/mvt/android/modules/adb/packages.py @@ -66,9 +66,15 @@ class Packages(AndroidExtraction): fields = line.split() file_name, package_name = fields[0].split(":")[1].rsplit("=", 1) - installer = fields[1].split("=")[1].strip() - if installer == "null": + + try: + installer = fields[1].split("=")[1].strip() + except IndexError: installer = None + else: + if installer == "null": + installer = None + uid = fields[2].split(":")[1].strip() dumpsys = self._adb_command(f"dumpsys package {package_name} | grep -A2 timeStamp").split("\n") @@ -106,6 +112,13 @@ class Packages(AndroidExtraction): if result["package_name"] == package_name: self.results[i][cmd["field"]] = True + for result in self.results: + if result["system"]: + continue + + self.log.info("Found non-system package with name \"%s\" installed by \"%s\" on %s", + result["package_name"], result["installer"], result["timestamp"]) + self.log.info("Extracted at total of %d installed package names", len(self.results))