import base64, binascii, codecs, argparse, pathlib def encode_layers(s: str) -> str: l1 = base64.b64encode(s.encode()).decode() # base64 l2 = codecs.encode(l1, 'rot_13') # rot13 l3 = binascii.hexlify(l2.encode()).decode() # hex lf = base64.b64encode(l3.encode()).decode() # base64 return lf def main(): ap = argparse.ArgumentParser() ap.add_argument("--flag", required=True, help="Flag string to wrap.") ap.add_argument("--out", default="message.txt") args = ap.parse_args() out = encode_layers(args.flag) pathlib.Path(args.out).write_text(out + "\n") print(out) if __name__ == "__main__": main()