LE形式でメモリに保存されている場合、16進文字列は0068732f6e69622f
ASCII文字列を表します。/bin/sh
2f62696e2f736800
16進文字列をバイト()に変換してxxd -r -ps
表示できるLinuxユーティリティはありますか/bin/sh
?
$ echo -n 0068732f6e69622f | xxd -r -ps
hs/nib/
調べてみましたが、xxd -e
以下と併用できません-r
。
-e little-endian dump (incompatible with -ps,-i,-r).
答え1
$ echo 0068732f6e69622f | rev | dd conv=swab 2>/dev/null | xxd -r -p
/bin/sh
rev
逆方向入力文字列:0068732f6e69622f
->f22696e6f2378600
dd conv=swab 2>/dev/null
各バイトペアを交換し、dd
stderrからノイズのある出力を削除します。f2
->2f
、26
->62
、...