Buuoj [BJDCTF 2nd]最简单的misc

zip伪加密

1. 题目给了一个secret.zip,解压发现需要密码,但并无其他提示。所以应当是zip伪加密[1]。压缩源目录区标志为504B0102,该标志后的第5、6字节即为加密标志可以进行伪加密。取消伪加密,将其改为0000即可。

2. 用winhex打开zip文件,并搜索hex值504B0102,列举搜索结果

Buuoj [BJDCTF 2nd]最简单的misc_第1张图片

Buuoj [BJDCTF 2nd]最简单的misc_第2张图片

 3. 共有两处,均改为0000,即可成功解压拿到名为secret的文件。

缺失的文件头

1. 用winhex打开secret文件,发现IHDR的标志位,所以这应该是PNG文件,但是PNG的文件头[2]应为89504e470d0a1a0a。可以看到缺少了89504e47

Buuoj [BJDCTF 2nd]最简单的misc_第3张图片

 2. 插入文件头:winhex中点击Edit,Paste Zero Bytes。

Buuoj [BJDCTF 2nd]最简单的misc_第4张图片

3. 因为要添加89504e47,所以需插入4个字节。将插入的0,改为我们想要的文件头即可。

Buuoj [BJDCTF 2nd]最简单的misc_第5张图片

 

 4. 手动修改文件名:将secret的后缀名png加上。即可打开图像。

Buuoj [BJDCTF 2nd]最简单的misc_第6张图片

图片中的那一串:424A447B79316E677A756973687561697D。本以为是Base32,但实际上就是16进制,直接转ASCII即可。


 

Reference

[1] https://blog.csdn.net/u011377996/article/details/79286958

[2] https://dev.gameres.com/Program/Visual/Other/PNGFormat.htm

你可能感兴趣的:(Buuoj [BJDCTF 2nd]最简单的misc)