我目前正在尝试解决取证文件搜索培训问题。
给出了提示,有一个 LUKS 容器,我们需要找到 LUKS 标头才能继续下一个训练问题。
根据随问题提供的信息,可以用这个幻数(十六进制)4c554b53babe 识别标头我现在正在整个设备中搜索这个幻数。
为此,我从
xxd -g0 -c 32 /mnt/luksTraining/training001.dd | grep -C 1 4c554b53babe
但后来意识到,这仅在标题未分成两行时才有效。例如,标题的前半部分位于一行的最后,另一半位于下一行。
是否有一种“智能”的方式来搜索特定的文件头?
基本上你正在搜索一个特定的字节串,所以最好直接搜索二进制数据而不是
xxd
输出,这会产生假阴性(以及潜在的假阳性),即:以上将输出给定字节串所在的 training001.dd 中的字节偏移量。
此 Stack Overflow 问题中描述的 grep 字节串的更多方法。
一些临时的想法;没有一个会很快……
xxd
输出,使用其-len
和-seek
选项将搜索起点更改为每个字节