题目
思路
- 二进制编码但是位数随机,二进制转ASCII不行,乱码,而且里面有有一些按照二进制算是重复的
- 看格式是摩斯电码的变异,只有01组合,长短不一
工具
#!user/bin/python3
Morse_dict = {'.-': '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',
'.----': '1',
'..---': '2',
'...--': '3',
'....-': '4',
'.....': '5',
'-....': '6',
'--...': '7',
'---..': '8',
'----.': '9',
'-----': '0',
'..--..': '?',
'-..-.': '/',
'-.--.': '(',
'-.--.-': ')',
'-....-': '-',
'.-.-.-': '.',
'----.--': '{',
'-----.-': '}',
'---...': ':',
'--..--': ',',
'-.-.-.': ';',
'-...-': '=',
'.----.': '\'',
'...-..-': '$',
'.--.-.': '@',
'..--.-': '_',
'-.-.--': '!',
'.-..-.': '"',
}
#替换生成新字典
new_dict = {}
for i in Morse_dict:
#new_key将.-替换成01
new_key = i.replace('.', '0').replace('-', '1')
new_dict[new_key] = Morse_dict[i]
#处理密文
s = '0010 0100 01 110 1111011 11 11111 010 000 0 001101 1010 111 100 0 001101 01111 000 001101 00 10 1 0 010 0 000 1 01111 10 11110 101011 1111101'
s_list = s.split(' ')
s1 = ''
for k in s_list:
s1 = s1 + new_dict[k].lower()
print(s1)
过程
- 借用一个字典
flag{m0rse_code_1s_interest1n9!}
总结
摩斯电码的变异版本