| Server IP : 172.67.153.42 / Your IP : 216.73.217.138 Web Server : Apache System : Linux vps-850873.bgcolombia.com 3.10.0-1160.144.1.el7.tuxcare.els5.x86_64 #1 SMP Wed May 13 12:31:54 UTC 2026 x86_64 User : melizav ( 1018) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /opt/imunify360/venv/versions/imunify-core-8.12.1-2/defence360agent/hooks/ |
Upload File : |
import importlib.util
import os
from collections import namedtuple
ENTRYPOINT = "im_hook"
ModuleInfo = namedtuple("ModuleInfo", ("object", "mtime", "ctime"))
modules: dict[str, ModuleInfo] = {}
def import_hook(path):
file_stat = os.stat(path)
if (
path in modules
and modules[path].mtime == file_stat.st_mtime
and modules[path].ctime == file_stat.st_ctime
):
return modules[path].object
spec = importlib.util.spec_from_file_location(path, path)
hook_module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(hook_module)
modules[path] = ModuleInfo(
object=hook_module, mtime=file_stat.st_mtime, ctime=file_stat.st_ctime
)
return hook_module
def remove_hook(path):
if path in modules:
modules.pop(path)
def execute_hook(path, dict_param):
hook_module = import_hook(path)
entrypoint = getattr(hook_module, ENTRYPOINT)
return entrypoint(dict_param)