blob: 4c4444b6e649534fb6b6d59d0b4c2589b141f356 [file]
import logging
import hashlib
from app.utility.base_world import BaseWorld
class BaseObfuscator(BaseWorld):
def __init__(self, agent):
self.agent = agent
def run(self, link, **kwargs):
agent = self.__getattribute__('agent')
supported_platforms = self.__getattribute__('supported_platforms')
try:
if agent.platform in supported_platforms and link.executor.name in agent.executors:
link.command_hash = hashlib.sha256(str.encode(link.command)).hexdigest()
o = self.__getattribute__(link.executor.name)
return o(link, **kwargs)
except Exception:
logging.error('Failed to run BaseObfuscator, returning default decoded bytes')
return self.decode_bytes(link.command)