print ('' .join ([chr (x ) for x in [99 , 114 , 121 , 112 , 116 , 111 , 123 , 65 , 83 , 67 , 73 , 73 , 95 , 112 , 114 , 49 , 110 , 116 , 52 , 98 , 108 , 51 , 125 ]]))
print (bytes .fromhex ('63727970746f7b596f755f77696c6c5f62655f776f726b696e675f776974685f6865785f737472696e67735f615f6c6f747d' ))
echo " 72bca9b68fc16ac7beeb8f849dca1d8a783e8acf9679bf9269f7bf" | xxd -r -p | base64
4. Bytes and Big Integers
echo " obase=16; ibase=10; 11515195063862318899931685488813747395775516287289682636499965282714637259206269" | bc | xxd -r -p
from pwn import *
import json
import base64
import codecs
from Crypto .Util .number import *
r = remote ('socket.cryptohack.org' , 13377 , level = 'debug' )
def json_recv ():
line = r .recvline ()
return json .loads (line .decode ())
def json_send (hsh ):
request = json .dumps (hsh ).encode ()
r .sendline (request )
for i in range (100 ):
received = json_recv ()
match received ["type" ]:
case "base64" :
decoded = base64 .b64decode (received ["encoded" ]).decode ()
case "hex" :
decoded = bytes .fromhex (received ["encoded" ]).decode ()
case "rot13" :
decoded = codecs .decode (received ["encoded" ], 'rot_13' )
case "bigint" :
decoded = long_to_bytes (int (received ["encoded" ], 16 )).decode ()
case "utf-8" :
decoded = "" .join ([chr (b ) for b in received ["encoded" ]])
to_send = {
"decoded" : decoded
}
json_send (to_send )
received = json_recv ()