1.CTF刷题-ASCII码
本帖最后由 语欣老爹 于 2022-2-7 00:33 编辑从简单入手,采用每日一练的方式学习思考解题思路,探寻优化方法。
字符编码,将人类所使用的每个字符都对应到一个唯一的数字上。
ASCII码,美国标准信息交换码。
对英文字母及常用符号进行编码,一共表示了128个字符。
对应的十进制数范围0~127。
ASCII码实际上只有7位二进制数,在计算机内部用8位二进制数表示,大小为1个字节。
ASCII码表中的128个字符分成了两部分:
0~32,规定了一些特殊的用途, 称为非打印字符。
33~127,可打印字符,也就是可以显示输出的字符。
利用ord()函数可以返回某个字符所对应的ASCII码(用十进制表示)。
利用chr()函数可以返回某个十进制数所对应的ASCII码字符。
ord('a')
97
chr(97)
'a'
第一题“百度杯”CTF比赛 十二月场
题目内容:如果说1代表对,0代表错,那么-1代表?
011001100110110001100001011001110111101101111010011010000100010101100011001110010011000000110011001101000110101001101111011001000111001101101010011001100110111101110011011010110110111101111101
yyds='011001100110110001100001011001110111101101111010011010000100010101100011001110010011000000110011001101000110101001101111011001000111001101101010011001100110111101110011011010110110111101111101'
for i in range(0,len(yyds),8):
print(chr(int(yyds,2)),end='')
flag{zhEc9034jodsjfosko}
flag=""
for i in range(0,len(yyds),8):
flag=flag+chr(int(yyds,2))
flag
'flag{zhEc9034jodsjfosko}'
第二题 “百度杯”CTF比赛 十一月场
分值:10分 类型:Misc题目名称:回归原始已解答
题目内容:
让我们回到最开始的地方
011001100110110001100001011001110111101101100011011001010011001101100101001101010011000000110010011000110010110100110100001110000110001100111001001011010011010001100100001101010011000000101101001110010011100100111001001100000010110100110101011000100011100000110001011001000110001000110110011001100110001101100010011001100011000001111101
yyds='011001100110110001100001011001110111101101100011011001010011001101100101001101010011000000110010011000110010110100110100001110000110001100111001001011010011010001100100001101010011000000101101001110010011100100111001001100000010110100110101011000100011100000110001011001000110001000110110011001100110001101100010011001100011000001111101'
for i in range(0,len(yyds),8):
print(chr(int(yyds,2)),end='')
flag{ce3e502c-48c9-4d50-9990-5b81db6fcbf0}
第三题:IceCTF
分值:20分 类型:Misc题目名称:All your Base are belong to us已解答
题目内容:
What a mess... we got a raw flag but now what do we do... flag.txt
01001001 01100011 01100101 01000011 01010100 01000110 01111011 01100001 01101100 00110001 01011111
01101101 01111001 01011111 01100010 01100001 01110011 01100101 01110011 01011111 01100001 01110010
01100101 01011111 01111001 01101111 01110101 01110010 01110011 01011111 01100001 01101110 01100100
01011111 01100001 01101100 01101100 01011111 01111001 00110000 01110101 01110010 01011111 01100010
01100001 01110011 01100101 01110011 01011111 01100001 01110010 01100101 01011111 01101101 01101001
01101110 01100101 01111101
with open('./allyour.txt')as f:
yyds=f.read()
yyds1=yyds.split()
for i in yyds1:
print(chr(int(i,2)),end="")
IceCTF{al1_my_bases_are_yours_and_all_y0ur_bases_are_mine}
这种题目的特征都是数字吗
页:
[1]