| Server IP : 66.29.153.156 / Your IP : 216.73.216.226 Web Server : LiteSpeed System : Linux premium322.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64 User : lastyfjz ( 1521) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/imunify360/venv/lib64/python3.11/site-packages/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)