从简单入手,采用每日一练的方式学习思考解题思路,探寻优化方法。
字符编码,将人类所使用的每个字符都对应到一个唯一的数字上。
ASCII码,美国标准信息交换码。
对英文字母及常用符号进行编码,一共表示了128个字符。
对应的十进制数范围0~127。
ASCII码实际上只有7位二进制数,在计算机内部用8位二进制数表示,大小为1个字节。
ASCII码表中的128个字符分成了两部分:
0~32,规定了一些特殊的用途, 称为非打印字符。
33~127,可打印字符,也就是可以显示输出的字符。
问题一、
描 述: 二进制、八进制、十进制、十六进制,你能分的清吗? 来源:第七届大学生网络安全技能大赛
file.txt
(578 Bytes, 下载次数: 18)
[Python] 纯文本查看 复制代码
yyds="d87 x65 x6c x63 o157 d109 o145 b100000 d116 b1101111 o40 x6b b1100101 b1101100 o141 d105 x62 d101 b1101001 d46 o40 d71 x69 d118 x65 x20 b1111001 o157 b1110101 d32 o141 d32 d102 o154 x61 x67 b100000 o141 d115 b100000 b1100001 d32 x67 o151 x66 d116 b101110 b100000 d32 d102 d108 d97 o147 d123 x31 b1100101 b110100 d98 d102 b111000 d49 b1100001 d54 b110011 x39 o64 o144 o145 d53 x61 b1100010 b1100011 o60 d48 o65 b1100001 x63 b110110 d101 o63 b111001 d97 d51 o70 d55 b1100010 d125 x20 b101110 x20 b1001000 d97 d118 o145 x20 d97 o40 d103 d111 d111 x64 d32 o164 b1101001 x6d o145 x7e"
b=yyds.split()
flag=''
for i in b:
if i[0]=='d':
flag=flag+chr(int(i[1:]))
elif i[0]=='x':
flag=flag+chr(int(i[1:],16))
elif i[0]=='o':
flag=flag+chr(int(i[1:],8))
elif i[0]=='b':
flag=flag+chr(int(i[1:],2))
print(flag)
Welcome to kelaibei. Give you a flag as a gift. flag{1e4bf81a6394de5abc005ac6e39a387b} . Have a good time~
问题二、攻防世界-掀桌子
题目描述:菜狗截获了一份报文如下c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2,生气地掀翻了桌子(╯°□°)╯︵ ┻━┻
[Python] 纯文本查看 复制代码
yyds='c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2'
for i in range(0,len(yyds),2):
print(chr(int(yyds[i:i+2],16)-128),end='')
Hi, FreshDog! The flag is: hjzcydjzbjdcjkzkcugisdchjyjsbdfr
问题三、攻防世界-misc13
题目描述:d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd
[Python] 纯文本查看 复制代码 yyds='d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd'
for i in range(0,len(yyds),2):
print(chr(int(yyds[i:i+2],16)-128),end='')
That was fast! The flag is: DDCTF{9af3c9d377b61d269b11337f330c935f}
|