バイナリ パターンに一致するかどうか、バイナリ ファイル内をチェックしたい。
そのために、clamAV署名データベースを使用しています
Exploit.HTML.ObjectType:3:*:3c6f626a65637420747970653d222f2f2f2f2f2f2f2f2f2f2f2f
これをコーディングして、16 進数の署名文字列を取得します
signature=$(echo "$line" |awk -F':' '{ print $4 }')
さらに、16進文字列を2進文字列に変更したい
tmp=$(echo -n $signature | sed 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs print)
最後に、ファイル ( *$raw_file_path* ) がバイナリ パターン (現在は$tmp )と一致するかどうかを確認したいと思います。
test_var=$(cat $raw_file_path | grep -U -P "$tmp")
なぜうまくいかないのかわかりません。
アイデアがあれば。
ありがとう。