题目描述

菜狗最近学会了拼图,这是他刚拼好的,可是却搞错了一块(ps:双图层)

Solution

RAR文件解压后得到一个flag.txt文件,但文件内容显示flag is not here。题目描述提到了“拼图”,这个压缩包里可能有文件,我们用 HxD 打开,CTRL-F 找png,jpg等后缀,发现一个线索:

010-1.png

注意这个secret.png文件紧跟再flag.txt后面,我们依据 RAR 文件结构:

Name Size(bytes) Description
HEAD_CRC 2 CRC of total block or block part
HEAD_TYPE 1 Block type
HEAD_FLAGS 2 Block flags
HEAD_SIZE 2 Block size
ADD_SIZE 4 Optional field - added block size

010-2.png

而 Block Types 的类型如下:

Head Type Signifier Description
HEAD_TYPE=0x72 marker block
HEAD_TYPE=0x73 archive header
HEAD_TYPE=0x74 file header
HEAD_TYPE=0x75 old style comment header
HEAD_TYPE=0x76 old style authenticity information
HEAD_TYPE=0x77 old style subblock
HEAD_TYPE=0x78 old style recovery record
HEAD_TYPE=0x79 old style authenticity information
HEAD_TYPE=0x7a subblock
HEAD_TYPE=0x7b terminator

由此观之,我们需要把0x7A改成0x74,修改完后重新打开压缩包,就能找到secret.png文件:

010-3.png

图片打开是一片白色,我们按照题目描述的“双图层”提示,我们使用 stegsolve 工具打开:

010-4.png

转了一大圈发现只有一半,根据题目提示“双图层”,我们用在线 PS 打开,发现最上面有个图层没被点亮。

010-5.png

我们点亮并保持下来,再用 stegsolve 打开,就能得到另一张二维码:

010-6.png
把它们拼接到一起,再填上定位方块,手机扫描即可得到 Flag:

010-7.png