奇妙的音乐

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


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


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


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

http://www.mathsking.net/morse.htm
-.-. - ..-. .-- .--. . .. ----- ---.. --... ...-- ..--- ..--.. ..--- ...-- -.. --..
CTFWPEI---..--......--..---..--....---...--DZ
我靠,在线不靠谱只能转字母,自己动手吧。写代码如下:


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}
实验吧的格式是个老病做多了就知道大小写反复试试


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值