攻防世界 Morse

下载附件
11 111 010 000 0 1010 111 100 0 00 000 000 111 00 10 1 0 010 0 000 1 00 10 110
(看构成仅有0,1,可能为摩斯密码,或者转为ascii,又看到0,1分布有空格隔开,且没有规律,判定为摩斯密码)
摩斯密码的解法:
(将1-为将0为.,或者互换,去在线转换网址查看)
网址: 在线转换
同理也可以用python编程:
Python:
#!/usr/bin/env python3
CODE_TABLE = {
# 26 个英文字符
‘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’: ‘–…’,
# 10 个数字
'0': '-----', '1': '.----', '2': '..---',
'3': '...--', '4': '....-', '5': '.....',
'6': '-....', '7': '--...', '8': '---..',
'9': '----.',
# 16 个特殊字符
',': '--..--', '.': '.-.-.-', ':': '---...', ';': '-.-.-.',
'?': '..--..', '=': '-...-', "'": '.----.', '/': '-..-.',
'!': '-.-.--', '-': '-....-', '_': '..--.-', '(': '-.--.',
')': '-.--.-', '$': '...-..-', '&': '. . . .', '@': '.--.-.'
# 你还可以自定义
}
def morsedecode(morse):
msg =’’
codes = morse.split(’ ‘)
for code in codes:
if code ==’’:
msg += ’ ’
else:
UNCODE =dict(map(lambda t:(t[1],t[0]),CODE_TABLE.items()))
msg += UNCODE[code]
return msg
ciphertext =“11 111 010 000 0 1010 111 100 0 00 000 000 111 00 10 1 0 010 0 000 1 00 10 110”
ciphertext = ciphertext.replace(‘1’,’-’)
ciphertext = ciphertext.replace(‘0’,’.’)
FLAG = morsedecode(ciphertext)
flag = FLAG.lower()
flag = ‘cyberpeace{’+flag+’}’
print('flag is ',flag)
跑python的结果:
('flag is ', ‘cyberpeace{morsecodeissointeresting}’)

本文介绍了如何解密攻防世界中的一段摩斯密码。通过观察0和1的分布,确定其为摩斯密码,并提供了在线转换网址及Python代码实现解码。解密后的结果是'cyberpeace{morsecodeissointeresting}'。
8704

被折叠的 条评论
为什么被折叠?



