Linux

以十六進制搜尋幻數的完整設備

  • December 21, 2021

我目前正在嘗試解決取證文件搜尋培訓問題。

給出了提示,有一個 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 字節串的更多方法。

引用自:https://unix.stackexchange.com/questions/683100