1
2
3
4
5 import json
6 import logging
7 import os.path
8
9 from lib.common.abstracts import Auxiliary
10 from lib.common.registry import set_regkey_full
11
12 log = logging.getLogger(__name__)
13
15 """Prepares the environment to behave as if the VM has been rebooted."""
16
18 if self.analyzer.config.package != "reboot":
19 return
20
21 reboot_path = os.path.join(self.analyzer.path, "reboot.json")
22 for line in open(reboot_path, "rb"):
23 event = json.loads(line)
24
25 if not hasattr(self, "_handle_%s" % event["category"]):
26 log.warning(
27 "Unable to handle reboot event with name %s as it has "
28 "not yet been implemented.", event["category"]
29 )
30 continue
31
32 getattr(self, "_handle_%s" % event["category"])(event)
33
35 regkey, type_, value = event["args"]
36 set_regkey_full(regkey, type_, value)
37
39 self.analyzer.reboot.append((event["category"], event["args"]))
40