From db3fe6e889d50ac4b18fda85120168adeef1c52f Mon Sep 17 00:00:00 2001 From: Dobin Date: Sat, 30 Mar 2024 21:45:50 +0000 Subject: [PATCH] refactor: move write logs to observer --- observer.py | 19 +++++++++++++++++++ supermega.py | 23 ++--------------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/observer.py b/observer.py index e38ec18..70f4fba 100644 --- a/observer.py +++ b/observer.py @@ -49,4 +49,23 @@ class Observer(): #self.write_to_file_bin(name + ".bin", data) + def write_logs(self, working_dir: str): + # Our log output + with open(f"{working_dir}log-supermega.log", "w") as f: + for line in observer.get_logs(): + f.write(line + "\n") + + # Stdout of executed commands + with open(f"{working_dir}log-cmdoutput.log", "w") as f: + for line in observer.get_cmd_output(): + f.write(line) + + # Write all files + idx = 0 + for name, data in observer.files: + with open(f"{working_dir}log-{idx}-{name}", "w") as f: + f.write(data) + idx += 1 + + observer = Observer() \ No newline at end of file diff --git a/supermega.py b/supermega.py index 4ad2b55..b766ef5 100644 --- a/supermega.py +++ b/supermega.py @@ -121,7 +121,7 @@ def start(settings: Settings) -> int: start_real(settings) except Exception as e: logger.error(f'Error compiling: {e}') - write_logs(settings.main_dir) + observer.write_logs(settings.main_dir) return 1 # Cleanup files @@ -130,7 +130,7 @@ def start(settings: Settings) -> int: clean_files(settings) # Write logs (on success) - write_logs(settings.main_dir) + observer.write_logs(settings.main_dir) return 0 @@ -212,25 +212,6 @@ def start_real(settings: Settings): ], check=True) -def write_logs(working_dir: str): - # Our log output - with open(f"{working_dir}log-supermega.log", "w") as f: - for line in observer.get_logs(): - f.write(line + "\n") - - # Stdout of executed commands - with open(f"{working_dir}log-cmdoutput.log", "w") as f: - for line in observer.get_cmd_output(): - f.write(line) - - # Write all files - idx = 0 - for name, data in observer.files: - with open(f"{working_dir}log-{idx}-{name}", "w") as f: - f.write(data) - idx += 1 - - def obfuscate_shc_loader(file_shc_in, file_shc_out): logger.info("--[ Obfuscate shellcode with SGN") run_process_checkret([