Misc 基础文件分析指令笔记

整理 binwalk、dd、unzip、strings、xxd 等 Misc 文件分析中常用的基础命令。

  • #CTF
  • #Misc
  • #Linux
  • #文件分析
  • #命令行

这篇记录 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:跳过多少个 block
  • count:读取多少个 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 时,才可以直接近似理解为字节数。