# Разбор таски Сасааагеёёё > Это отсылка на Атаку титанов. > Чтобы забрать флаг, нужно выиграть в игру > > sasaaageyooo.ctf.sch9.ru Игра, которая дана на веб страничке называется ним (можно было найти это в поисковике). В интернете много статей по тому, как выигрывать в неё. Стратегия заключается в следующем: нужно чтобы после каждого твоего хода побитовый xor (побитовое исключающее или) количества элементов в кучках было равно 0. Заметим, что всё взаимодействие с сервером происходит через WebSockets (можно увидеть в javascript страницы), тогда, давайте общаться с сервером напрямую, не через браузер (аналогичный код можно написать и в браузере конечно) Давайте напишем код, который будет обращаться к серверу и играть с ним по вышеуказанной стратегии: ```python import websocket import ssl import json ws = websocket.WebSocket(sslopt={"cert_reqs": ssl.CERT_NONE}) ws.connect("wss://sdbjkas_sasaaageyooo.ctf.sch9.ru/get-flag") ws.send("init") data = json.loads(ws.recv())["state"] def xor(d): x = 0 for v in d: x ^= v return x while sum(data) > 0: x = xor(data) print("XOR =", x) print("SUM =", sum(data)) for i, v in enumerate(data): if v ^ x <= v: v = v - (v ^ x) break ws.send(json.dumps({"index": i, "value": v})) print("->", {"index": i, "value": v}) data[i] -= v recv = json.loads(ws.recv()) print("<-", recv) if "msg" in recv.keys(): break i = recv['index'] v = recv['value'] data[i] -= v ``` (за код спасибо @quforos) Запускаем и через приблизительно минуту нам выдаётся флаг.