zip伪加密
1. 题目给了一个secret.zip,解压发现需要密码,但并无其他提示。所以应当是zip伪加密[1]。压缩源目录区标志为504B0102,该标志后的第5、6字节即为加密标志可以进行伪加密。取消伪加密,将其改为0000即可。
2. 用winhex打开zip文件,并搜索hex值504B0102,列举搜索结果
3. 共有两处,均改为0000,即可成功解压拿到名为secret的文件。
缺失的文件头
1. 用winhex打开secret文件,发现IHDR的标志位,所以这应该是PNG文件,但是PNG的文件头[2]应为89504e470d0a1a0a。可以看到缺少了89504e47
2. 插入文件头:winhex中点击Edit,Paste Zero Bytes。
3. 因为要添加89504e47,所以需插入4个字节。将插入的0,改为我们想要的文件头即可。
4. 手动修改文件名:将secret的后缀名png加上。即可打开图像。
图片中的那一串:424A447B79316E677A756973687561697D。本以为是Base32,但实际上就是16进制,直接转ASCII即可。
Reference
[1] https://blog.csdn.net/u011377996/article/details/79286958
[2] https://dev.gameres.com/Program/Visual/Other/PNGFormat.htm