奇妙的音乐

http://www.shiyanbar.com/ctf/1862
奇妙的音乐:
据说flag就藏在这段音乐中,请仔细听。
格式:CTF{}
解题链接: http://ctf5.shiyanbar.com/crypto/123.zip


解:
1.
music压缩包还被加密了,有意思,提供一张照片, 奇妙的音乐_第1张图片
照片是海伦凯勒可以猜到图片下方是盲文,https://baike.baidu.com/item/%E7%9B%B2%E6%96%87/440901?fr=aladdin
2.
kmdonowg解压得到一个音乐文件,听起来是摩斯密码,找个工具提取出来。
3.


将音频拖入工具Audacity,可以看到波形我是选择频谱图,

奇妙的音乐_第2张图片

注意要把字母对应的摩斯码打空格分开不然在线识别不了

http://www.mathsking.net/morse.htm
-.-. - ..-. .-- .--. . .. ----- ---.. --... ...-- ..--- ..--.. ..--- ...-- -.. --..
CTFWPEI---..--......--..---..--....---...--DZ
我靠,在线不靠谱只能转字母,自己动手吧。写代码如下:
奇妙的音乐_第3张图片

CODE = {'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': '----.'
}

DECODE={'.-':'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','..--..':'?','-....-':'-',
		 '-.--.-':'(','.-.-.-':'.'
}
def Encode(msg):
		out=""
		for char in msg:
				if char == ' ':
						print
				else:
					out+=CODE[char.upper()]+' '
		return out
def Decode(msg):
	
	out=''
	sumstr=''
	for char in msg:
		if char == ' ':
			sumstr+=DECODE[out]
			out=''
			continue
		out+=char
	sumstr+=DECODE[out]
	return sumstr
	
if __name__ == "__main__":
	num=input('请输入数字1或2,1加密,2解密: ')
	if num=='1':
		msg = input('输入明文:  ')
		print('加密后摩斯码: ')
		print(Encode(msg))
	elif num=='2':
		msg=input('请输入摩斯密文 :')
		print('解密后明文: ')
		print(Decode(msg))
	else:
		print('Error')
得到结果:
CTFWPEI08732?23DZ
最后flag:CTF{wpei08732?23dz}
实验吧的格式是个老病做多了就知道大小写反复试试


你可能感兴趣的:(奇妙的音乐)