mirror of
https://github.com/dobin/SuperMega
synced 2026-06-02 17:27:10 +00:00
fix: fix shcdev
This commit is contained in:
+12
-18
@@ -10,7 +10,6 @@ from pygments.formatters import HtmlFormatter
|
|||||||
import difflib
|
import difflib
|
||||||
from ansi2html import Ansi2HTMLConverter
|
from ansi2html import Ansi2HTMLConverter
|
||||||
import subprocess
|
import subprocess
|
||||||
import time
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from observer import observer
|
from observer import observer
|
||||||
@@ -23,7 +22,7 @@ from sender import scannerDetectsBytes
|
|||||||
from phases.injector import verify_injected_exe
|
from phases.injector import verify_injected_exe
|
||||||
from phases.compiler import compile_dev
|
from phases.compiler import compile_dev
|
||||||
from phases.assembler import asm_to_shellcode
|
from phases.assembler import asm_to_shellcode
|
||||||
from helper import run_process_checkret
|
from helper import run_process_checkret, clean_tmp_files
|
||||||
from model.project import prepare_project
|
from model.project import prepare_project
|
||||||
|
|
||||||
views = Blueprint('views', __name__)
|
views = Blueprint('views', __name__)
|
||||||
@@ -81,12 +80,14 @@ def dev_route(name):
|
|||||||
info = "input C code"
|
info = "input C code"
|
||||||
elif filename.endswith(".exe"):
|
elif filename.endswith(".exe"):
|
||||||
info = "temporary shellcode holder (from .c)"
|
info = "temporary shellcode holder (from .c)"
|
||||||
elif filename.endswith(".log"):
|
elif filename.endswith("cmdoutput.log"):
|
||||||
info = "log file"
|
info = "command output"
|
||||||
with open(path + "/" + filename, "r") as f:
|
with open(path + "/" + filename, "r") as f:
|
||||||
log = f.read()
|
log += f.read() + "\n-----------------------------------\n"
|
||||||
|
elif filename.endswith("supermega.log"):
|
||||||
#print(log)
|
info = "supermega logging output"
|
||||||
|
with open(path + "/" + filename, "r") as f:
|
||||||
|
log += f.read()
|
||||||
|
|
||||||
data.append({
|
data.append({
|
||||||
"name": filename,
|
"name": filename,
|
||||||
@@ -105,26 +106,19 @@ def dev_build_route(name):
|
|||||||
asm_out = PATH_PAYLOAD + "{}/main.asm".format(name)
|
asm_out = PATH_PAYLOAD + "{}/main.asm".format(name)
|
||||||
build_exe = PATH_PAYLOAD + "{}/main.exe".format(name)
|
build_exe = PATH_PAYLOAD + "{}/main.exe".format(name)
|
||||||
shellcode_out = PATH_PAYLOAD + "{}/main.bin".format(name)
|
shellcode_out = PATH_PAYLOAD + "{}/main.bin".format(name)
|
||||||
log = PATH_PAYLOAD + "{}/main.log".format(name)
|
|
||||||
|
|
||||||
compile_dev(c_in, asm_out)
|
compile_dev(c_in, asm_out)
|
||||||
asm_to_shellcode(asm_out, build_exe, shellcode_out)
|
asm_to_shellcode(asm_out, build_exe, shellcode_out)
|
||||||
|
observer.write_logs(PATH_PAYLOAD + "{}/".format(name))
|
||||||
with open(log, "w") as f:
|
clean_tmp_files()
|
||||||
for log_line in observer.getlog():
|
|
||||||
f.write("{}\n".format(log_line))
|
|
||||||
|
|
||||||
f.write("\n\n")
|
|
||||||
|
|
||||||
for log in observer.logs:
|
|
||||||
f.write("{}".format(log))
|
|
||||||
|
|
||||||
return redirect("/shcdev/{}".format(name), code=302)
|
return redirect("/shcdev/{}".format(name), code=302)
|
||||||
|
|
||||||
|
|
||||||
@views.route("/project/<name>")
|
@views.route("/project/<name>")
|
||||||
def project(name):
|
def project(name):
|
||||||
project = storage.get_project(name)
|
project = storage.get_project(name)
|
||||||
|
if project == None:
|
||||||
|
return redirect("/projects", code=302)
|
||||||
log_files = get_logfiles(project.settings.main_dir)
|
log_files = get_logfiles(project.settings.main_dir)
|
||||||
|
|
||||||
exes = []
|
exes = []
|
||||||
|
|||||||
Reference in New Issue
Block a user