ui: make a bit nicer, highlight missing dlls

This commit is contained in:
Dobin
2024-04-29 18:38:33 +01:00
parent f6a015b63b
commit 23bb16d172
2 changed files with 35 additions and 26 deletions
+28 -26
View File
@@ -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>
+7
View File
@@ -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=""):