さえぴ の めも

色んなアウトプットする。

google foo.bar終わりました

学校の先輩に招待いただいたfoo.bar、先日level5解き終わりました!ワーーーーーイ!

f:id:saemero:20180610181314p:plain
⬆︎頑張って逃したBunny


解き終えた後、status画面でメッセージももらった。
1人1人違うようで、どうやらユーザー名(googleアカウント名)がキーになっているっぽい。
暗号化されたメッセージをbase64でデコードし、その結果とユーザー名のXORとっていったら解読できた。
Python3でコード書きました。

import base64

txt = "NUIFEBEPBB0XCREKS0oTPAAXEVVAQUkHQV1cDgwTOwBRRUhMRgsXWlRVBggQaUlWQhcKBwEWWkIXS1dUaQwYBgAJBQcGQlQXR01TLwYeDBcaBAMBQEUXS1dUaRAYCR0PCgsACR0QTB8VLAcfEQFLQVRECUJRDQhTYkVRAx0DRk5eDhZHAgNVaRg="
key = "my username"

message = ""

m = list(base64.b64decode(txt).decode())

for i in range(len(m)):
    a = int((key[i % len(key)]).encode("utf-8").hex(),16)
    b = int(m[i].encode("utf-8").hex(),16)
    message += chr(a ^ b)
    
print(message)

いや〜本当に嬉しいです。
楽しかった!!