Bugku|/.-

题目链接:https://ctf.bugku.com/challenges/detail/id/46.html

题目

1
.-./.-../.-/--./----.--/-../...--/..-./-.-./-.../..-./.----/--.../..-./----./...--/----./----./...../-----/....-/-----.-

解题思路

明显是摩斯密码,上网查找摩斯密码对应表,编写解密脚本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
table = {
'.-':'A','-...':'B','-.-.':'C','-..':'D','.':'E',
'..-.':'F','--.':'G','....':'H','..':'I','.---':'J',
'-.-':'K','.-..':'L','--':'M','-.':'N','---':'O',
'.--.':'P','--.-':'Q','.-.':'R','...':'S','-':'T',
'..-':'U','...-':'V','.--':'W','-..-':'X','-.--':'Y','--..':'Z',

'-----':'0','.----':'1','..---':'2','...--':'3','....-':'4',
'.....':'5','-....':'6','--...':'7','---..':'8','----.':'9',

'.-.-.-':'.','--..--':',','..--..':'?','.----.':"'",'-....-':'-',
'-..-.':'/','---...':':','-.-.-.':';','-...-':'=', '.-...':'&',
'---..-':'!','.-.-':'+','-....-':'_','..--.-':'"',
'.-..-.':'"','...-..-':'$','.--.-.':'@','.-...':'ç','----..':'|'
}

d = ".-../-.-./---/.-./-../-./-./-../-./---/.-./-./-./---/.-./---/-"
fenge = d.split('/')
result = "".join(table.get(s,'未知') for s in fenge)
print(result)

d.split('/')意思是用/将它们分割成列表,有的时候默认是空格分割。

运行得到结果:

1
FLAG未知D3FCBF17F9399504未知

发现两个未知位置是( 和 )
搜索发现在标准摩斯密码对应表中没有正反大括号的对应的摩斯密码,所以导致解码失败。
所以猜测flag是:

1
FLAG(D3FCBF17F9399504)

提交发现错误,再次搜索资料发现摩斯密码只区分字母,但是关于字母的具体大小写不做区分,所以再次编写脚本把所有大写转成小写。

最终 Flag

1
flag{d3fcbf17f9399504}
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2012-2026 高源

请我喝杯咖啡吧~

支付宝
微信