So What? Revenge
Description
Solution
last_byte = b""
binary = b""
while True:
byte = sys.stdin.buffer.read(1)
binary += byte
# allow cancer constraints here
# man, I really wish there was a way to avoid all this pain!!!
# lmao
if b"\x80" <= byte < b"\xff": # 1. printable shellcode
quit()
if byte in b"/bi/sh": # 2. no shell spawning shenanigans
quit()
if b"\x30" <= byte <= b"\x35": # 3. XOR is banned
quit()
if b"\x00" <= byte < b"\x05": # 3. ADD is banned
quit()
if byte == b"\n" and last_byte == b"\n":
break
last_byte = byte
if len(binary) >= 0x1000:
exit(1)
with open("libyour_input.so", "wb") as f:
f.write(binary)
print("Assembling!")
os.system("as libyour_input.so -o libyour_input.obj && ld libyour_input.obj -shared -o libyour_input.so")Unintended Solution

Intended Solution
Last updated