crypto14解题思路
##二进制
0011001100110011001000000011010000110101001000000011010100110000001000000011001001100110001000000011001100110011001000000011010100110110001000000011010001100101001000000011010000110110001000000011010000110110001000000011011001100100001000000011010001100101001000000011010000110101001000000011010000110001001000000011011001100101001000000011011001100011001000000011010000111000001000000011010000110100001000000011001100110101001000000011011000110100001000000011010000110011001000000011010001100100001000000011011001100100001000000011010100110110001000000011010000111000001000000011010000110100001000000011001100110101001000000011011000110001001000000011011000110100001000000011001100111001001000000011011100110101001000000011010000110111001000000011000001100001
在线转换网址:http://www.hiencode.com/jinzhi.html
得到16进制
3333203435203530203266203333203536203465203436203436203664203465203435203431203665203663203438203434203335203634203433203464203664203536203438203434203335203631203634203339203735203437203061
16进制转字符得到hex
33 45 50 2f 33 56 4e 46 46 6d 4e 45 41 6e 6c 48 44 35 64 43 4d 6d 56 48 44 35 61 64 39 75 47 0a
在线转换网址:https://www.bejson.com/convert/ox2str/
hex解码得到
3EP/3VNFFmNEAnlHD5dCMmVHD5ad9uG
在线转换网址:http://stool.chinaz.com/hex
flag"使用base64加密后的字符串是 ZmxhZw==
前面的ZmxhZ不管flag后面是什么都不会改变。
我们对比一下前四个字符,"Zmxh"和"3EP/"在base64表中查一下,Z和3差了30,m和E差了30。
将3EP/3VNFFmNEAnlHD5dCMmVHD5ad9uG 在ascii码中向后减30
py3脚本如下:
s= '3EP/3VNFFmNEAnlHD5dCMmVHD5ad9uG'
t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
l=""
for i in s:
l += t[(t.index(i)-30)%64]
if len(l)%4!=0:
l=l+"="*(4-(len(l)%4))
print(l)
运行脚本得到:
ZmxhZ3vnnIvmiJHplb/kuI3plb8/fQo=
BASE64解码得到flag:
flag{看我长不长?}
在线转换网址:http://tool.chinaz.com/tools/base64.aspx