
→ 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.