mirror of
https://github.com/dobin/SuperMega
synced 2026-06-03 01:27:11 +00:00
ui: show more info
This commit is contained in:
@@ -58,20 +58,20 @@
|
|||||||
|
|
||||||
<select class="form-select" name="shellcode" aria-label="SHELLCODE" onchange="this.form.submit()">
|
<select class="form-select" name="shellcode" aria-label="SHELLCODE" onchange="this.form.submit()">
|
||||||
{% for shellcode in shellcodes %}
|
{% for shellcode in shellcodes %}
|
||||||
<option value="{{shellcode}}"
|
<option value="{{shellcode['filename']}}"
|
||||||
{% if shellcode in project.settings.payload_path %} selected {% endif %}
|
{% if shellcode["filename"] in project.settings.payload_path %} selected {% endif %}
|
||||||
>
|
>
|
||||||
{{shellcode}}
|
{{shellcode['filename']}} ({{shellcode['size']}})
|
||||||
</option>
|
</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select class="form-select" name="exe" aria-label="EXE" onchange="this.form.submit()">
|
<select class="form-select" name="exe" aria-label="EXE" onchange="this.form.submit()">
|
||||||
{% for exe in exes %}
|
{% for exe in exes %}
|
||||||
<option value="{{exe}}"
|
<option value="{{exe['filename']}}"
|
||||||
{% if exe in project.settings.inject_exe_in %} selected {% endif %}
|
{% if exe['filename'] in project.settings.inject_exe_in %} selected {% endif %}
|
||||||
>
|
>
|
||||||
{{exe | basename}}</option>
|
{{exe['filename'] | basename}} ({{exe['size']}})</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -84,7 +84,6 @@
|
|||||||
{{export['name']}} ({{export['size']}})</option>
|
{{export['name']}} ({{export['size']}})</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<a href="/exes/{{project.settings.inject_exe_in | basename}}">INFO</a>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -124,7 +123,9 @@
|
|||||||
Code Section size: {{ code_sect_size}} <br>
|
Code Section size: {{ code_sect_size}} <br>
|
||||||
Data Section size: {{ data_sect_size}} <br>
|
Data Section size: {{ data_sect_size}} <br>
|
||||||
Data Section largest: {{ data_sect_largest_gap_size}} <br>
|
Data Section largest: {{ data_sect_largest_gap_size}} <br>
|
||||||
|
-> Payload len: {{ payload_len}} <br>
|
||||||
{{ project_dir }} <br>
|
{{ project_dir }} <br>
|
||||||
|
<a href="/exes/{{project.settings.inject_exe_in | basename}}">EXE INFO</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
+24
-9
@@ -55,6 +55,11 @@ def project(name):
|
|||||||
code_sect_size = 0
|
code_sect_size = 0
|
||||||
data_sect_size = 0
|
data_sect_size = 0
|
||||||
data_sect_largest_gap_size = 0
|
data_sect_largest_gap_size = 0
|
||||||
|
payload_len = 0
|
||||||
|
|
||||||
|
# when we select a shellcode
|
||||||
|
if project.settings.payload_path != "":
|
||||||
|
payload_len = os.path.getsize(project.settings.payload_path)
|
||||||
|
|
||||||
# when we selected an input file
|
# when we selected an input file
|
||||||
if project.settings.inject_exe_in != "":
|
if project.settings.inject_exe_in != "":
|
||||||
@@ -69,19 +74,16 @@ def project(name):
|
|||||||
exehost.init()
|
exehost.init()
|
||||||
data_sect_largest_gap_size = exehost.get_rdata_relocmanager().find_largest_gap()
|
data_sect_largest_gap_size = exehost.get_rdata_relocmanager().find_largest_gap()
|
||||||
|
|
||||||
|
|
||||||
project_dir = os.path.dirname(os.path.abspath(project.settings.inject_exe_out))
|
project_dir = os.path.dirname(os.path.abspath(project.settings.inject_exe_out))
|
||||||
log_files = get_logfiles(project.settings.main_dir)
|
log_files = get_logfiles(project.settings.main_dir)
|
||||||
|
|
||||||
exes = [ "" ]
|
exes = list_files_and_sizes(PATH_EXES, prepend=PATH_EXES)
|
||||||
for file in os.listdir(PATH_EXES):
|
#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):
|
||||||
exes.append(PATH_EXES_MORE + file)
|
# exes.append(PATH_EXES_MORE + file)
|
||||||
|
|
||||||
shellcodes = [ "" ]
|
shellcodes = list_files_and_sizes(PATH_SHELLCODES)
|
||||||
for file in os.listdir(PATH_SHELLCODES):
|
|
||||||
shellcodes.append(file)
|
|
||||||
|
|
||||||
function_invoke_styles = [(color.name, color.value) for color in FunctionInvokeStyle]
|
function_invoke_styles = [(color.name, color.value) for color in FunctionInvokeStyle]
|
||||||
decoderstyles = [(color.name, color.value) for color in DecoderStyle]
|
decoderstyles = [(color.name, color.value) for color in DecoderStyle]
|
||||||
@@ -106,8 +108,21 @@ def project(name):
|
|||||||
code_sect_size=code_sect_size,
|
code_sect_size=code_sect_size,
|
||||||
data_sect_size=data_sect_size,
|
data_sect_size=data_sect_size,
|
||||||
data_sect_largest_gap_size=data_sect_largest_gap_size,
|
data_sect_largest_gap_size=data_sect_largest_gap_size,
|
||||||
|
payload_len=payload_len,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def list_files_and_sizes(directory, prepend=""):
|
||||||
|
# List all files in the directory and get their sizes
|
||||||
|
files_and_sizes = []
|
||||||
|
for filename in os.listdir(directory):
|
||||||
|
filepath = os.path.join(directory, filename)
|
||||||
|
if os.path.isfile(filepath):
|
||||||
|
size = os.path.getsize(filepath)
|
||||||
|
files_and_sizes.append({
|
||||||
|
"filename": prepend + filename,
|
||||||
|
"size": size,
|
||||||
|
})
|
||||||
|
return files_and_sizes
|
||||||
|
|
||||||
@views_project.route("/project_add", methods=['POST', 'GET'])
|
@views_project.route("/project_add", methods=['POST', 'GET'])
|
||||||
def add_project():
|
def add_project():
|
||||||
|
|||||||
Reference in New Issue
Block a user