Untitled

arkham_cipher.py

flag_enc.txt


→ Nessa challenge foi disponibilizado para nós um código em python e uma "texto" em binário. Nessa challenge precisamos entender um pouco de Python e vontade de pesquisar. Tenho pouco conhecimento em Python, mas sei como fazer uma boa pesquisa.


→ Primeiramente precisamos entender o que esse código em python faz. Basicamente ele usa as funções ord(), bin() e soma 961. Bom não vou explicar o que exatamente cada função dessa faz, mas vou deixar a documentação aqui.

ord() function in Python - GeeksforGeeks

bin() in Python - GeeksforGeeks

def enc(texto):
    s = ""
    for ch in texto:
        s = s + bin(ord(ch) + 961)
    return s

if __name__ == '__main__':
    Texto = "4rkh4m pyth0n c1ph3r"
    print(enc(Texto))

0b11111101010b100001100110b100001011000b100001010010b11111101010b100001011100b11111000010b100001100010b100001110100b100001101010b100001010010b11111100010b100001011110b11111000010b100001001000b11111100100b100001100010b100001010010b11111101000b10000110011

→ Basicamente o ord() retorna o código unicode de um determinado caracter e o bin() retorna uma string binaria de um determinado inteiro. A flag já está em string binaria, então precisamos fazer o reverso disso tudo.

String Binaria → Código unicode → Caracter


→ Para isso eu criei um script em python ( com ajuda do Google ) para fazer o processo reverso.