mirror of
https://github.com/dobin/SuperMega
synced 2026-06-03 01:27:11 +00:00
ui: make a bit nicer, highlight missing dlls
This commit is contained in:
+28
-26
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- Row 1: Buttons -->
|
<!-- Row 1: Buttons -->
|
||||||
<div class="col-3">
|
<div class="col-1">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/build">
|
<form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/build">
|
||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
{% if is_built %}
|
{% if is_built %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-6">
|
|
||||||
<form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec">
|
<form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec">
|
||||||
<button class="btn btn-primary" type="submit" value="start">Start Local</button>
|
<button class="btn btn-primary" type="submit" value="start">Start Local</button>
|
||||||
</form>
|
</form>
|
||||||
@@ -31,22 +30,21 @@
|
|||||||
<form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec?no_exec=true">
|
<form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec?no_exec=true">
|
||||||
<button class="btn btn-primary" type="submit" value="start">File Local</button>
|
<button class="btn btn-primary" type="submit" value="start">File Local</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
|
||||||
<div class="col-6">
|
{% if has_remote %}
|
||||||
<form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec?remote=true">
|
<form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec?remote=true">
|
||||||
<button class="btn btn-primary" type="submit" value="start">Start Remote</button>
|
<button class="btn btn-primary" type="submit" value="start">Start Remote</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec?remote=true&no_exec=true">
|
<form method="POST" enctype="multipart/form-data" action="/project/{{project_name}}/exec?remote=true&no_exec=true">
|
||||||
<button class="btn btn-primary" type="submit" value="start">File Remote</button>
|
<button class="btn btn-primary" type="submit" value="start">File Remote</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Row 2: Input files -->
|
<!-- Row 2: Input files -->
|
||||||
<div class="col-3">
|
<div class="col-2">
|
||||||
<!-- leave this here or it will fuck up layout -->
|
<!-- leave this here or it will fuck up layout -->
|
||||||
<form method="POST" enctype="multipart/form-data" action="/project_add">
|
<form method="POST" enctype="multipart/form-data" action="/project_add">
|
||||||
<input type="hidden" name="project_name" value="{{project_name}}">
|
<input type="hidden" name="project_name" value="{{project_name}}">
|
||||||
@@ -85,11 +83,29 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<a href="/exes/{{project.settings.inject_exe_in | basename}}">EXE INFO</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Row 3: settings -->
|
<!-- Row 3: exe and shellcode info -->
|
||||||
<div class="col-3">
|
<div class="col-2">
|
||||||
|
x64: {{ is_64 }} / Dotnet: {{ is_dotnet}} <br>
|
||||||
|
.text: {{ code_sect_size}} <br>
|
||||||
|
.rodata: {{ data_sect_size}}
|
||||||
|
(max: {{ data_sect_largest_gap_size}}) <br>
|
||||||
|
|
||||||
|
{% if unresolved_dlls|length > 0 %}
|
||||||
|
<br>
|
||||||
|
<span class="text-danger">Unresolved dlls:</span>
|
||||||
|
<ul>
|
||||||
|
{% for dll in unresolved_dlls %}
|
||||||
|
<li>{{ dll }} </li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Row 4: leet settings -->
|
||||||
|
<div class="col-2">
|
||||||
<select class="form-select" name="source_style" aria-label="SOURCESTYLE" onchange="this.form.submit()">
|
<select class="form-select" name="source_style" aria-label="SOURCESTYLE" onchange="this.form.submit()">
|
||||||
{% for name, value in function_invoke_styles %}
|
{% for name, value in function_invoke_styles %}
|
||||||
<option value="{{name}}"
|
<option value="{{name}}"
|
||||||
@@ -115,27 +131,13 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Row 4: more settings -->
|
|
||||||
<div class="col-3">
|
|
||||||
EXE/DLL Is: <br>
|
|
||||||
Is x64: {{ is_64}} <br>
|
|
||||||
Is Dotnet: {{ is_dotnet}} <br>
|
|
||||||
Code Section size: {{ code_sect_size}} <br>
|
|
||||||
Data Section size: {{ data_sect_size}} <br>
|
|
||||||
Data Section largest: {{ data_sect_largest_gap_size}} <br>
|
|
||||||
-> Payload len: {{ payload_len}} <br>
|
|
||||||
{{ project_dir }} <br>
|
|
||||||
Unresolved dlls: <br>
|
|
||||||
{% for dll in unresolved_dlls %}
|
|
||||||
{{ dll }} <br>
|
|
||||||
{% endfor %}
|
|
||||||
<a href="/exes/{{project.settings.inject_exe_in | basename}}">EXE INFO</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
|
{{ project_dir }} <br>
|
||||||
<div class="custom-line"></div>
|
<div class="custom-line"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -59,6 +59,10 @@ def project(name):
|
|||||||
data_sect_largest_gap_size = 0
|
data_sect_largest_gap_size = 0
|
||||||
payload_len = 0
|
payload_len = 0
|
||||||
unresolved_dlls = []
|
unresolved_dlls = []
|
||||||
|
has_remote = False
|
||||||
|
|
||||||
|
if config.get("avred_server") != "":
|
||||||
|
has_remote = True
|
||||||
|
|
||||||
# when we select a shellcode
|
# when we select a shellcode
|
||||||
if project.settings.payload_path != "":
|
if project.settings.payload_path != "":
|
||||||
@@ -83,6 +87,7 @@ def project(name):
|
|||||||
log_files = get_logfiles(project.settings.main_dir)
|
log_files = get_logfiles(project.settings.main_dir)
|
||||||
|
|
||||||
exes = list_files_and_sizes(PATH_EXES, prepend=PATH_EXES)
|
exes = list_files_and_sizes(PATH_EXES, prepend=PATH_EXES)
|
||||||
|
exes += list_files_and_sizes(PATH_EXES_MORE, prepend=PATH_EXES_MORE)
|
||||||
#for file in
|
#for file in
|
||||||
# exes.append(PATH_EXES + file)
|
# exes.append(PATH_EXES + file)
|
||||||
#for file in os.listdir(PATH_EXES_MORE):
|
#for file in os.listdir(PATH_EXES_MORE):
|
||||||
@@ -115,6 +120,8 @@ def project(name):
|
|||||||
data_sect_largest_gap_size=data_sect_largest_gap_size,
|
data_sect_largest_gap_size=data_sect_largest_gap_size,
|
||||||
payload_len=payload_len,
|
payload_len=payload_len,
|
||||||
unresolved_dlls=unresolved_dlls,
|
unresolved_dlls=unresolved_dlls,
|
||||||
|
|
||||||
|
has_remote=has_remote,
|
||||||
)
|
)
|
||||||
|
|
||||||
def list_files_and_sizes(directory, prepend=""):
|
def list_files_and_sizes(directory, prepend=""):
|
||||||
|
|||||||
Reference in New Issue
Block a user