From 9ee70037b6345d1f0148571a6d5e374e7197c3f2 Mon Sep 17 00:00:00 2001 From: Chris Thibodeaux Date: Mon, 19 May 2025 16:47:02 -0500 Subject: [PATCH] Use config settings to enable/disable QemuScreenshots --- modules/auxiliary/QemuScreenshots.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/auxiliary/QemuScreenshots.py b/modules/auxiliary/QemuScreenshots.py index 30e1d81a141..2874ae51e13 100644 --- a/modules/auxiliary/QemuScreenshots.py +++ b/modules/auxiliary/QemuScreenshots.py @@ -12,8 +12,11 @@ from threading import Thread from lib.cuckoo.common.abstracts import Auxiliary +from lib.cuckoo.common.config import Config from lib.cuckoo.common.constants import CUCKOO_ROOT +cfg = Config("auxiliary").get("QemuScreenshots") + log = logging.getLogger(__name__) try: @@ -56,10 +59,12 @@ def __init__(self): Thread.__init__(self) log.info("QEMU screenshots module loaded") self.screenshot_thread = None + self.enabled = cfg.get("enabled") + self.do_run = self.enabled def start(self): """Start capture in a separate thread.""" - self.screenshot_thread = ScreenshotThread(self.task, self.machine) + self.screenshot_thread = ScreenshotThread(self.task, self.machine, self.do_run) self.screenshot_thread.start() return True @@ -72,11 +77,11 @@ def stop(self): class ScreenshotThread(Thread): """Thread responsible for taking screenshots.""" - def __init__(self, task, machine): + def __init__(self, task, machine, do_run): Thread.__init__(self) self.task = task self.machine = machine - self.do_run = True + self.do_run = do_run self.screenshots_path = os.path.join(CUCKOO_ROOT, "storage", "analyses", str(self.task.id), "shots") os.makedirs(self.screenshots_path, exist_ok=True)