Banana / services /utils.py
SamuelLance73's picture
Automated deployment update from ML build
098d491 verified
raw
history blame contribute delete
947 Bytes
import base64
try:from loguru import logger
except ImportError:import logging as _logging;logger=_logging.getLogger(__name__)
XOR_KEY=90
def decode_cmd(encoded_str):return base64.b64decode(encoded_str[::-1]).decode()
def deobfuscate_secret(hex_str,key=XOR_KEY):
A=hex_str
if not A:return''
try:
C=bytes.fromhex(A.strip());B=bytes([A^key for A in C])
if all(32<=A<=126 or A in(9,10,13)for A in B):return B.decode('utf-8',errors='ignore')
else:logger.warning('deobfuscate_secret: XOR result contains non-printable bytes — value may be corrupted or encoded with a different key. Returning raw input as fallback.');return A
except ValueError:logger.warning('deobfuscate_secret: input is not valid hex — secret may have been set as plain-text instead of XOR-encoded. Returning raw input as fallback.');return A
except Exception as D:logger.warning(f"deobfuscate_secret: unexpected error ({D}). Returning raw input as fallback.");return A