CTF-misc(stegano)

1.下载附件,是一个PDF文件

2.在chrome浏览器中打开查看,发现Lorem ipsum

3.Lorem ipsum
中文又称“乱数假文”, 是指一篇常用于排版设计领域的拉丁文文章 ,主要的目的为测试文章或文字在不同字型、版型下看起来的效果,通常网站还没建设好时会出现这段文字
CTF-misc(stegano)_第1张图片

4.然后我们全选pdf内容复制到txt文档中,发现内容中有一串由A和B组成的字符串,并且分成了一组一组的,显然这是摩斯电码
在这里插入图片描述
在这里插入图片描述

5.只需要把A替换成“.”,B替换成“-”,再解码就行

str = "BABA BBB BA BBA ABA AB B AAB ABAA AB B AA BBB BA AAA BBAABB AABA ABAA AB BBA BBBAAA ABBBB BA AAAB ABBBB AAAAA ABBBB BAAA ABAA AAABB BB AAABB AAAAA AAAAA AAAAB BBA AAABB"; 

str1 = str.replace("A", ".")
str2 = str1.replace("B", "-")

print(str2)

6.将str2解码
CTF-misc(stegano)_第2张图片
很坑的一点是,试了几个在线解码,都解不出来,然后写个python脚本也没解出来,--..-----...报错,网上翻出摩斯电码表,发现这两个是逗号和冒号,恍然大悟,解码字典里没有符号,于是在字典里加上一段,用以完善代码
CTF-misc(stegano)_第3张图片
大功告成,贴上代码

a = input("input the string:")
s = a.split(" ")
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',
        '..--..': '?',
        '-..-.': '/',
        '-.--.-': '()',
        '-....-': '-',
        '.-.-.-': '.',
        '--..--': ',',
        '---...': ':'
        }
for item in s:
    print (dict[item],end = '')

7.按照题目要求把flag转成小写
CTF-misc(stegano)_第4张图片
拿到flag

你可能感兴趣的:(ctf-misc)