
题目第三届 SHCTF 公开赛道\题目\MISC\Open my puff解密打开压缩包并解压零宽字符在线解密1.txt里面是明显的零宽字符在线解密网址https://tool.bfw.wiki/tool/1695021695027599.html将字符放入右侧解密后得到keyA:12345678 keyB:qwertyui keyC:asdfghjkOpenPuff解密2.png尝试了各种隐写并未发现任何问题但用010打开发现末尾有openpuff4.01的字样同时联想题目Open my puff提示应该使用了OpenPuff加密且版本尽量是4.01版本加密解密工具下载地址https://openpuff.en.lo4d.com/download输入密钥ABC并选择图片进行解密得到一个azaa.zip的压缩包进行解压解压压缩包根据已知明文使用bkcrack破解压缩包打开flag.txt并没有什么线索niimmccw????zfip打开flag.zip发现里面也有一个flag.txt那么线索很可能就是外面的flag.txt文件包含了压缩包里面的flag.txt的部分内容且采用了zipcrypto store加密算法进制转换第0位开始的数据niimmccw —— 6e69696d6d636377共8字节第12位开始的数据zfip —— 7a666970共4字节zfip前面有11个数值niimmccw???破解原理破解原理只需要至少 12 字节的已知明文其中至少 8 字节必须是连续的就能进行攻击可以是分开的12字节也可以是在一起的12字节bkcrack下载地址https://github.com/kimci86/bkcrack/releases/tag/v1.8.1将bkcarck.exe放到待解密的压缩包下破解加密密钥.\bkcrack.exe-Cflag.zip-cflag.txt-x06e69696d6d636377-x127a666970参数说明-C flag.zip指定要破解的加密 ZIP 文件-c flag.txt指定 ZIP 内的目标文件flag.txt-x 0 6e69696d6d636377在偏移量 0 处提供已知明文十六进制-x 12 7a666970在偏移量 12 处提供已知明文十六进制执行过程使用 1 字节已知明文进行 Z 值缩减在索引 6 处对 2818048 个 Z 值进行攻击找到密钥4543d810 f89b3d67 531a63b0攻击进度达到 32.6% 时找到解这个过程挺慢的十分钟吧PS C:\Users\Administrator\Desktop\azaa.\bkcrack.exe-Cflag.zip-cflag.txt-x06e69696d6d636377-x127a666970 bkcrack1.8.1 -2025-10-25[14:47:23]Z reduction using1bytes of known plaintext100.0%(1/1)[14:47:23]Attack on2818048Z values at index6Keys: 4543d810 f89b3d67 531a63b032.6%(918733/2818048)Found a solution. Stopping. You may resume the attack with the option: --continue-attack918733[14:58:18]Keys 4543d810 f89b3d67 531a63b0生成指定密码的 ZIP 文件.\bkcrack.exe-Cflag.zip-k4543d810 f89b3d67 531a63b0-Uflag1.zip easy参数说明-C flag.zip原始加密的 ZIP 文件-k 4543d810 f89b3d67 531a63b0使用破解得到的三个密钥-U flag1.zip easy生成新的 ZIP 文件使用密码 “easy”PS C:\Users\Administrator\Desktop\azaa.\bkcrack.exe-Cflag.zip-k4543d810 f89b3d67 531a63b0-Uflag1.zip easy bkcrack1.8.1 -2025-10-25[15:14:18]Writing unlocked archive flag1.zip with passwordeasy100.0%(1/1)Wrote unlocked archive.也可以直接提取flag.txt文件命令如下.\bkcrack.exe-Cflag.zip-cflag.txt-k4543d810 f89b3d67 531a63b0-dflag.txt解密压缩包答案SHCTF{N3ur4l_Gl1tch_1n_Th3_5yst3m}