mirror of
https://github.com/hanzoui/custom-nodes-security-scan.git
synced 2026-10-30 20:56:54 +00:00
36 lines
1.0 KiB
Python
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)
|