mirror of
https://github.com/dobin/SuperMega
synced 2026-06-02 17:27:10 +00:00
refactor: move write logs to observer
This commit is contained in:
+19
@@ -49,4 +49,23 @@ class Observer():
|
|||||||
#self.write_to_file_bin(name + ".bin", data)
|
#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()
|
observer = Observer()
|
||||||
+2
-21
@@ -121,7 +121,7 @@ def start(settings: Settings) -> int:
|
|||||||
start_real(settings)
|
start_real(settings)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f'Error compiling: {e}')
|
logger.error(f'Error compiling: {e}')
|
||||||
write_logs(settings.main_dir)
|
observer.write_logs(settings.main_dir)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
# Cleanup files
|
# Cleanup files
|
||||||
@@ -130,7 +130,7 @@ def start(settings: Settings) -> int:
|
|||||||
clean_files(settings)
|
clean_files(settings)
|
||||||
|
|
||||||
# Write logs (on success)
|
# Write logs (on success)
|
||||||
write_logs(settings.main_dir)
|
observer.write_logs(settings.main_dir)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
@@ -212,25 +212,6 @@ def start_real(settings: Settings):
|
|||||||
], check=True)
|
], 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):
|
def obfuscate_shc_loader(file_shc_in, file_shc_out):
|
||||||
logger.info("--[ Obfuscate shellcode with SGN")
|
logger.info("--[ Obfuscate shellcode with SGN")
|
||||||
run_process_checkret([
|
run_process_checkret([
|
||||||
|
|||||||
Reference in New Issue
Block a user