refactor: use PAYLOAD_LEN in template instead of 0x11223344 in asm

This commit is contained in:
Dobin
2024-02-18 19:52:50 +00:00
parent 92e9b51409
commit 9b71cdd481
5 changed files with 11 additions and 13 deletions
-7
View File
@@ -98,13 +98,6 @@ def fixup_asm_file(filename: FilePath, payload_len: int, short_call_patching: bo
"[shcstart]"
)
# replace payload length
for idx, line in enumerate(lines):
if "11223344" in lines[idx]:
logger.info(" > Replace payload length at line: {}".format(idx))
lines[idx] = lines[idx].replace("11223344", str(payload_len))
break
# add label at end of code
for idx, line in enumerate(lines):
if lines[idx].startswith("END"):
+7 -2
View File
@@ -33,12 +33,15 @@ def create_c_from_template(
with open(filepath, "r", encoding='utf-8') as file:
plugin_allocator = file.read()
plugin_allocator = Template(plugin_allocator).render({
'PAYLOAD_LEN': payload_len,
'PAYLOAD_LEN': payload_len,
})
filepath = "plugins/decoder/{}.c".format(decoder_style.value)
with open(filepath, "r", encoding='utf-8') as file:
plugin_decoder = file.read()
plugin_decoder = file.read()
plugin_decoder = Template(plugin_decoder).render({
'PAYLOAD_LEN': payload_len,
})
filepath = "plugins/executor/{}.c".format(exec_style.value)
with open("plugins/executor/direct_1.c", "r", encoding='utf-8') as file:
@@ -55,6 +58,7 @@ def create_c_from_template(
'plugin_allocator': plugin_allocator,
'plugin_decoder': plugin_decoder,
'plugin_executor': plugin_executor,
'PAYLOAD_LEN': payload_len,
})
with open(main_c_file, "w", encoding='utf-8') as file:
file.write(rendered_template)
@@ -78,6 +82,7 @@ def create_c_from_template(
'plugin_allocator': plugin_allocator,
'plugin_decoder': plugin_decoder,
'plugin_executor': plugin_executor,
'PAYLOAD_LEN': payload_len,
})
with open(main_c_file, "w", encoding='utf-8') as file:
file.write(rendered_template)