diff --git a/analyzer/windows/modules/packages/archive.py b/analyzer/windows/modules/packages/archive.py index 95264d281ca..0f046b2ae9d 100644 --- a/analyzer/windows/modules/packages/archive.py +++ b/analyzer/windows/modules/packages/archive.py @@ -35,6 +35,7 @@ class Archive(Package): """Archive analysis package.""" PATHS = [ + ("SystemRoot", "system32", "msiexec.exe"), ("SystemRoot", "system32", "cmd.exe"), ("SystemRoot", "system32", "wscript.exe"), ("SystemRoot", "system32", "rundll32.exe"), diff --git a/analyzer/windows/modules/packages/zip.py b/analyzer/windows/modules/packages/zip.py index eb995218287..f129dee37b4 100644 --- a/analyzer/windows/modules/packages/zip.py +++ b/analyzer/windows/modules/packages/zip.py @@ -35,6 +35,7 @@ class Zip(Package): """Zip analysis package.""" PATHS = [ + ("SystemRoot", "system32", "msiexec.exe"), ("SystemRoot", "system32", "cmd.exe"), ("SystemRoot", "system32", "wscript.exe"), ("SystemRoot", "system32", "rundll32.exe"), diff --git a/lib/cuckoo/core/analysis_manager.py b/lib/cuckoo/core/analysis_manager.py index fcd0ea8f120..16ae6a4c69b 100644 --- a/lib/cuckoo/core/analysis_manager.py +++ b/lib/cuckoo/core/analysis_manager.py @@ -422,11 +422,15 @@ def run_analysis_on_guest(self) -> None: options["clock"] = self.db.update_clock(self.task.id) self.db.guest_set_status(self.task.id, "starting") guest_manager.start_analysis(options) - if guest_manager.get_status_from_db() == "starting": - guest_manager.set_status_in_db("running") - guest_manager.wait_for_completion() - - guest_manager.set_status_in_db("stopping") + + try: + if guest_manager.get_status_from_db() == "starting": + guest_manager.set_status_in_db("running") + guest_manager.wait_for_completion() + guest_manager.set_status_in_db("stopping") + except Exception as e: + guest_manager.set_status_in_db("failed") + self.log.exception(f"Unknown exception waiting for guest completion: {e}") return diff --git a/utils/process.py b/utils/process.py index 63a55348657..84e6edd5d3d 100644 --- a/utils/process.py +++ b/utils/process.py @@ -225,12 +225,9 @@ def doRollover(self): Override doRollover to force close the old handler before creating a new one. """ if self.stream: - logging.debug("Flushing log stream...") self.stream.flush() - logging.debug("Closing log stream...") self.stream.close() - logging.debug("Log stream closed.") - logging.handlers.TimedRotatingFileHandler.doRollover(self) + super().doRollover() def init_logging(debug=False):