截取一段电波,一不小心全变成了泡泡。你能够解密吗? “oooo0。000。ooo。o000。0oooo。0o。0o00。00o。00ooo。o00o。0000o。0oo。0oo。oo000。00oo。

看上面的符号像是我们遇到的莫斯电码,但是我们怎么把它转化为莫斯电码呢,仔细观察的o代表的是"."、0代表的是"-"、。代表的是" ",所以我们可以写一个脚本将上面的符号转化为莫斯电码

#特殊的莫斯电码
import re#正则表达式
s = "oooo0。000。ooo。o000。0oooo。0o。0o00。00o。00ooo。" \
    "o00o。0000o。0oo。0oo。oo000。00oo。oo000。ooo00。ooooo。o0。o000。"
a = ["。","o","0"]
b = [" ",".","-"]
dic = dict(zip(a,b))#一一对应并且做字典输出
pattern = re.compile('('+'|'.join(a)+')')#.join连接
t = pattern.sub(lambda a:dic[a.group()],s)#替换
print(t)

执行完,可得一串莫斯电码:

....- --- ... .--- -.... -. -.-- --. --... .--. ----. -.. -.. ..--- --.. ..--- ...-- ..... .- .---

这样就可以得到flag{}

但是将flag提交不正确,我们考虑是否是大小写的原因,所以

将里面的大写字母改成小写的

在notepad++中编辑有个转化大小写的功能,所以的flag{4osj6nyg7p9dd2z235aj}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值