看了一些wp,没什么好办法,就是一张一张的看,有人肉眼看过了三十关(可能因为美女都太好看了吧);高级一点的就是有大佬做了脚本:大佬的链接,大家可以自行学习。
里面有两张一样的图,一张是you,一张是you and me:
猜测是图片隐写,先试试盲水印,这个有原图,所以就可使用BlindWaterMark这一工具,这个是python编写的开源工具,在github上也可以直接下载。这个工具和java编写的另一个盲水印工具不同,这个是需要原图的,而java编写的盲水印工具不需要原图就能解析出藏在图中的水印。
在这个脚本运行时踩了一些坑:
装好之后就可以进行解析了,将这两张图片复制到这个脚本的路径下,输入命令就可成功解析出水印图片:
直接得到了flag:
略
果然是我做题还不够多,一开始以为是音频里会有摩斯密码,原来真的是探姬的黑丝白丝,黑丝为1(-),白丝为0(.),转场动画为分隔,写出摩斯密码,最后得到的是:
文件名已经提示的相当明显了,是0宽隐写,于是找一个在线网站解密:在线解密网站
下载之后先解压,结果发现提示加密了,那先放到winhex里看看是不是伪加密,把两处原来的0900都改为0000:
压缩包里的这两处地方是决定有无加密的位置,如果是伪加密的情况,当这两处地方都改为0000时,就没有密码了。详细的可以看这篇文章:压缩包伪加密
改完发现就可以直接解压缩了,里面是一个不知道什么类型的文件,放到winhex里面看一下:
查看文件一开始我还以为是个py文件,后来了wp之后才知道应该是.pyc类型的文件。.pyc文件是py文件编译过后的,该文件可由python虚拟机直接运行,可以保留跨平台的特性,又可以让其他人不能直接看到自己的代码。
另外.pyc文件的前四个字节是他的魔术字,魔术字代表的是其使用的python版本,不同版本的魔术字是不同的;比如这个文件开头的420D0D0A代表的就是python3.7版本。
一般这种文件我们直接找一个在线网站反编译一下就可以了,在线网站,得到如下代码:
flag = bytes([
99,
116,
102,
115,
104,
111,
119,
123,
99,
100,
106,
110,
106,
100,
95,
53,
54,
53,
102,
95,
71,
67,
68,
72,
95,
107,
99,
114,
105,
109,
125]).decode()
print(flag)
打开发现是一堆编码,跟画也没关系啊,更像是某种加密;仔细观察了一下,发现比较符合base58的加密特征:没有等号,数字+大小写字母,于是先试一试水:
发现解密之后又像是base32的加密特征:有很多等号,数字(2-7)+大写字母,于是再加一个base32:
得到了比较符合base64加密特征的结果,于是再进行一次base64解密:
到这里特征就很明显了,非常像png文件的16进制文件,于是导出为png文件;
注意不要直接保存导出,要把内容先赋值粘贴保存到txt文件中,然后使用010editor,选择:文件->以16进制导入,将txt文件中的内容导入,编辑方式选择:十六进制,然后就能成功保存了。
成功导出后查看图片,确实很抽象啊:
那么这里看到这种图片,在加上“抽象画”这个提示,就容易想到使用npiet工具(bushi)。
我也是这次才接触到这个工具,这个工具呢是用颜色块来进行编程隐藏信息的; 其使用的是Piet语言,Piet语言是一个看起来像在用抽象画编程的语言。这个语言被命名以Piet Mondrian,开创了现代抽象艺术领域的人物。看官方给的一些例图,是不是和我们的抽象画有一些异曲同工之处:
我们可以从npiet官方下载地址下载: