mirror of
https://github.com/dobin/SuperMega
synced 2026-06-02 17:27:10 +00:00
feature: ui new project usable defaults
This commit is contained in:
+16
-14
@@ -173,6 +173,18 @@ def add_project():
|
|||||||
|
|
||||||
# new project?
|
# new project?
|
||||||
if storage.get_project(project_name) == None:
|
if storage.get_project(project_name) == None:
|
||||||
|
# Default values for web create
|
||||||
|
settings.init_payload_injectable(
|
||||||
|
"messagebox.bin",
|
||||||
|
"data/binary/exes/procexp64.exe",
|
||||||
|
""
|
||||||
|
)
|
||||||
|
settings.decoder_style = DecoderStyle.XOR_2
|
||||||
|
settings.carrier_name = "alloc_rw_rx"
|
||||||
|
settings.carrier_invoke_style = CarrierInvokeStyle.BackdoorCallInstr
|
||||||
|
settings.payload_location = PayloadLocation.CODE
|
||||||
|
settings.fix_missing_iat = True
|
||||||
|
|
||||||
# add new project
|
# add new project
|
||||||
project = WebProject(project_name, settings)
|
project = WebProject(project_name, settings)
|
||||||
project.comment = comment
|
project.comment = comment
|
||||||
@@ -180,20 +192,10 @@ def add_project():
|
|||||||
|
|
||||||
# update project
|
# update project
|
||||||
else:
|
else:
|
||||||
settings.payload_path = PATH_SHELLCODES + request.form['shellcode']
|
settings.init_payload_injectable(
|
||||||
if request.form['shellcode'] == "createfile.bin":
|
request.form['shellcode'],
|
||||||
settings.verify = True
|
request.form['exe'],
|
||||||
settings.try_start_final_infected_exe = False
|
request.form.get('dllfunc', "")
|
||||||
else:
|
|
||||||
settings.cleanup_files_on_exit = False
|
|
||||||
|
|
||||||
if 'dllfunc' in request.form:
|
|
||||||
settings.dllfunc = request.form['dllfunc']
|
|
||||||
|
|
||||||
settings.inject_exe_in = request.form['exe']
|
|
||||||
settings.inject_exe_out = "{}{}".format(
|
|
||||||
settings.main_dir,
|
|
||||||
os.path.basename(settings.inject_exe_in).replace(".exe", ".infected.exe")
|
|
||||||
)
|
)
|
||||||
|
|
||||||
settings.fix_missing_iat = True if request.form.get('fix_missing_iat') != None else False
|
settings.fix_missing_iat = True if request.form.get('fix_missing_iat') != None else False
|
||||||
|
|||||||
@@ -46,3 +46,19 @@ class Settings():
|
|||||||
self.main_shc_path = self.main_dir + "main.bin"
|
self.main_shc_path = self.main_dir + "main.bin"
|
||||||
self.inject_exe_out = "{}{}".format(
|
self.inject_exe_out = "{}{}".format(
|
||||||
self.main_dir, os.path.basename(self.inject_exe_in).replace(".exe", ".infected.exe"))
|
self.main_dir, os.path.basename(self.inject_exe_in).replace(".exe", ".infected.exe"))
|
||||||
|
|
||||||
|
def init_payload_injectable(self, shellcode, injectable, dll_func):
|
||||||
|
self.payload_path = PATH_SHELLCODES + shellcode
|
||||||
|
if shellcode == "createfile.bin":
|
||||||
|
self.verify = True
|
||||||
|
self.try_start_final_infected_exe = False
|
||||||
|
else:
|
||||||
|
self.cleanup_files_on_exit = False
|
||||||
|
|
||||||
|
self.inject_exe_in = injectable
|
||||||
|
self.inject_exe_out = "{}{}".format(
|
||||||
|
self.main_dir,
|
||||||
|
os.path.basename(self.inject_exe_in).replace(".exe", ".infected.exe")
|
||||||
|
)
|
||||||
|
|
||||||
|
self.dllfunc = dll_func
|
||||||
Reference in New Issue
Block a user