📌 题目信息
| 项目 | 内容 |
|---|---|
| 题目名称 | [SUCTF2018]single dog |
| 题目来源 | BUUCTF(SUCTF 2018) |
| 题目类型 | Crypto(密码学) |
| 子分类 | AAEncode(颜文字加密) |
| 考点 | binwalk文件分离、AAEncode解码 |
| 难度 | ⭐ |
| 最终 Flag | flag{happy double eleven} |
注意:这道题在buuctf上面分类为MISC,但是有用到AAEncode,所以还是属于密码学部分

🛠️ 使用工具
- 010 Editor / WinHex —— 十六进制查看
- binwalk —— 检测文件中隐藏的其他文件
- foremost —— 文件分离与提取
- AAEncode在线解密工具
📝 解题思路
题目名为“single dog”(单身狗),附件是一张 JPG 图片。需要从图片中分离出隐藏的压缩包,再对压缩包内的文本进行 AAEncode(颜文字加密)解码,即可得到 Flag。
第 1 步:图片隐写分析与文件分离
下载附件后得到一张 JPG 图片。查看图片属性,未发现有用信息。
用 010 Editor 打开图片,在文件末尾发现 PK 文件头(50 4B 03 04),确认图片中隐藏了 ZIP 压缩包(实际做题肯定是不知道有PK头的)。
使用 binwalk 进行检测,确认存在 ZIP 压缩包和 flag.txt 文件:
binwalk 33b05728b3b83d69a7801f51f296fe32c38e3d5f3b9597ae34b1d0a1b347f684.jpg

使用 foremost 将图片中的隐藏文件分离出来:
foremost 33b05728b3b83d69a7801f51f296fe32c38e3d5f3b9597ae34b1d0a1b347f684.jpg

⚠️ 注意:如果执行 foremost 时提示错误,尝试删除原有的 output 目录后再执行。
分离后在 output 目录中得到 ZIP 压缩包,解压后得到一个 1.txt 文件。
第 2 步:识别 AAEncode(颜文字加密)
打开 1.txt,内容是一堆颜文字(如 ゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; 等)。

这些颜文字实际上是 AAEncode(又称颜文字加密)的产物。
AAEncode 原理:它是一种基于 JavaScript 的文本加密工具,通过执行混淆算法将可执行的代码转换成 ASCII 字符形式的字符串,并插入不可见字符、注释及字符串操作指令。
第 3 步:AAEncode 解码获取 Flag
将 1.txt 中的全部颜文字内容复制到 AAEncode 在线解密工具中。

解密后即可得到 Flag 内容:
happy double eleven
⚠️ 注意:原题 Flag 格式可能为
SUCTF{happy double eleven},提交时需要按 BUUCTF 平台要求将前缀改为flag{}。
🏁 最终 Flag
flag{happy double eleven}
【AAencode】SUCTF2018 single dog&spm=1001.2101.3001.5002&articleId=163714727&d=1&t=3&u=cd25c0ec5b5947b1bd900fa55b110dd1)
1万+

被折叠的 条评论
为什么被折叠?



