Files
2024-07-21 22:49:06 -07:00

36 lines
1.0 KiB
Python

# Copyright (C) 2010-2013 Claudio Guarnieri.
# Copyright (C) 2014-2016 Cuckoo Foundation.
# This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.
import os
from lib.common.abstracts import Package
class ComDll(Package):
"""COM analysis package."""
PATHS = [
("System32", "regsvr32.exe"),
]
def start(self, path):
regsvr32 = self.get_path("regsvr32")
arguments = self.options.get("arguments", "")
# Check file extension.
ext = os.path.splitext(path)[-1].lower()
# If the file doesn't have the proper .dll extension force it
# and rename it. This is needed for regsvr32 to execute correctly.
# See ticket #354 for details.
if ext != ".dll":
new_path = path + ".dll"
os.rename(path, new_path)
path = new_path
args = [path]
if arguments:
args.append(arguments)
return self.execute(regsvr32, args=args)