题目链接:下载链接
打开题目链接
第一个for语句就是改变s_box列表的值。
第二个for语句也是改变s_box列表的值,然后求得k对flag进行异或运算加密。
cipher="".join(res)是把xor异或后的变为字符串,
crypt是对字符串进行utf-8编码然后base64加密,然后进行解密。
最后对enc进行urllib.parse.quote(enc)操作
urllib.parse.quote也是一种编码方式,他的逆是urllib.parse.unquote
对于他的逆向则是把编码之后的enc进行反编码urllib.parse.unquote,然后在用k与反编码后的字符串进行异或即可得到flag