fix: make refpatch register independent

This commit is contained in:
Dobin
2024-02-12 17:51:10 +00:00
parent 1909551e07
commit c87cb98503
+11 -2
View File
@@ -166,9 +166,18 @@ def fixup_asm_file(filename, payload_len, capabilities: ExeCapabilities):
for idx, line in enumerate(lines): for idx, line in enumerate(lines):
if "supermega_payload" in lines[idx]: if "supermega_payload" in lines[idx]:
print(" > Replace external reference at line: {}".format(idx)) print(" > Replace external reference at line: {}".format(idx))
#lines[idx] = lines[idx].replace(
# "mov r8, QWORD PTR supermega_payload",
# "lea r8, [shcstart]"
#)
# better keep register (hack)
lines[idx] = lines[idx].replace( lines[idx] = lines[idx].replace(
"mov r8, QWORD PTR supermega_payload", "mov ",
"lea r8, [shcstart]" "lea "
)
lines[idx] = lines[idx].replace(
"QWORD PTR supermega_payload",
"[shcstart]"
) )
# replace payload length # replace payload length