Misc 基础文件分析指令笔记
整理 binwalk、dd、unzip、strings、xxd 等 Misc 文件分析中常用的基础命令。
这篇记录 Misc 题中比较常见的文件分析、隐藏数据提取和二进制查看命令。遇到具体题目时,应根据文件类型和输出结果灵活调整参数。
一、分析文件结构
1. 使用 binwalk 查找隐藏内容
binwalk target.jpg
用于分析文件内部结构,寻找嵌套文件、压缩包、文件头和可能存在的数据偏移。
2. 查看文件类型
file target.jpg
file 会根据文件内容和文件头判断类型,不完全依赖文件扩展名。
二、提取和查看压缩文件
3. 从指定偏移提取数据
dd if=target.jpg of=extract.zip bs=1 skip=OFFSET
参数含义:
if:输入文件of:输出文件bs:每次处理的字节数skip:跳过多少个 blockcount:读取多少个 block;不填写时通常会一直读取到输入结束
示例:
dd if=a of=b bs=1 skip=100
表示从 a 的第 100 个字节附近开始,把后续数据复制到 b。使用 bs=1 时,一个 block 就是一个字节,便于按文件偏移提取。
4. 查看 ZIP 内有什么
unzip -l extract.zip
只列出压缩包目录,不解压文件。
5. 解压 ZIP
unzip extract.zip
也可以指定保存目录:
unzip extract.zip -d output
三、文本和编码分析
6. 查看文本内容
cat key
文件内容较长时,可以改用分页查看:
less key
7. 再次确认文件类型
file key
这一步可以帮助判断文件是普通文本、脚本、压缩文件还是其他二进制格式。
8. Base64 解码
base64 -d -i key
如果希望把结果保存到文件:
base64 -d -i key -o decoded.txt
四、二进制内容查看
9. 查看二进制中的可读字符串
strings cipher
用于提取二进制文件中连续的可打印字符,适合快速寻找提示、路径、错误信息或密文片段。
10. 查看十六进制
xxd cipher
11. 按一个字节查看十六进制
xxd -g 1 cipher
-g 1 表示每组显示 1 个字节,适合对照文件偏移和分析原始字节。
12. 统计文件字节数
wc -c cipher
用于确认文件大小,或者辅助判断提取范围是否合理。
五、重点记忆
if = 输入文件
of = 输出文件
bs = 每次处理多少字节
skip = 跳过多少个 block
count = 读取多少个 block
实际使用时,skip 和 count 都是以 block 为单位计算的;当 bs=1 时,才可以直接近似理解为字节数。