바이너리 내용을 보기 위해 "xxd -r"에 전달하기 전에 16진수 문자열을 LE 형식으로 수정하려면 어떻게 해야 합니까?

바이너리 내용을 보기 위해 "xxd -r"에 전달하기 전에 16진수 문자열을 LE 형식으로 수정하려면 어떻게 해야 합니까?

LE 형식으로 메모리에 저장되면 16진수 문자열은 0068732f6e69622fASCII 문자열을 나타냅니다./bin/sh

2f62696e2f73680016진수 문자열을 바이트( ) 로 변환하여 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각 바이트 쌍을 교환하고 ddstderr에서 잡음이 있는 출력을 삭제합니다: f2-> 2f, 26-> 62, ...

관련 정보