Linux
以十六進制搜尋幻數的完整設備
我目前正在嘗試解決取證文件搜尋培訓問題。
給出了提示,有一個 LUKS 容器,我們需要找到 LUKS 標頭才能繼續下一個訓練問題。
根據隨問題提供的資訊,可以用這個幻數(十六進制)4c554b53babe 辨識標頭我現在正在整個設備中搜尋這個幻數。
為此,我從
xxd -g0 -c 32 /mnt/luksTraining/training001.dd | grep -C 1 4c554b53babe
但後來意識到,這僅在標題未分成兩行時才有效。例如,標題的前半部分位於一行的最後,另一半位於下一行。
是否有一種“智能”的方式來搜尋特定的文件頭?
是否有一種“智能”的方式來搜尋特定的文件頭?
基本上你正在搜尋一個特定的字節串,所以最好直接搜尋二進制數據而不是
xxd
輸出,這會產生假陰性(以及潛在的假陽性),即:grep -oba "$(printf '\x4c\x55\x4b\x53\xba\xbe')" /mnt/luksTraining/training001.dd
以上將輸出給定字節串所在的 training001.dd 中的字節偏移量。
此 Stack Overflow 問題中描述的 grep 字節串的更多方法。