리눅스 명령어 중에 xxd 라는 명령어가 있습니다.
xxd는 헥스 에디터랑 비슷한 명령어 입니다.
사용법은 xxd <파일명> 입니다.
![](https://t1.daumcdn.net/cfile/tistory/2461683954218BBF1C)
실행을 시켜 보시면 다음과 같이 보임니다.
또한 > 으로 파일로도 내보넬수 있습니다.
그 반대로도 헥스파일을 수정해서 다시 ELF파일로 만들수 있습니다.
-r 옵션을 이용하여 할수 있습니다.
xxd -r <수정한 hex 파일> > <만들 ELF명>
![](https://t1.daumcdn.net/cfile/tistory/211B4F4754218ECD3A)
옵션으로는 밑과 같이 있습니다. (제가 변역하엿습니다.)
-a | -autoskip토글 자동 생략 : 하나의 null line을 '*'으로 대쳐합니다. 기본값이 아닙니다.-b | -bits비트(이진수) 변환을 합니다,16진수 덤프 대신. 이 옵션은 여덟 숫자 "1"과 "0"대신에 일반적인 진수로 덤프 진수을 쓴다. 각 행은 아스키 (또는 EBCDIC) 표현을 16 진수로 행 앞에 숫자 및 따른. 이 명령줄은 -p, -i 옵션에서 작동하지 않습니다. -c cols | -cols cols한 줄에 형식 <COLS> 옥텟. 기본 16 (-i : 12, -ps : 30 -b : 6). 최대 256.-E | -EBCDIC오른쪽 열 문자열을 ASCII에서 EBCDIC로 변경합니다. 이것은 16진수 형태를 변경하지 않습니다. 이 옵션은 -r, -p 또는 -i 옵션에서는 의미가 없습니다.-g bytes | -groupsize bytes공백으로 모든 <바이트> 바이트 (두 자리 16 진수 또는 8 비트 숫자 각)의 출력을 구분합니다. 그룹화를 억제하는 -g 0을 지정합니다. <바이트> 일반 모드에서이 디폴트 및 비트 모드에서 1. 그룹화는 포스트 스크립트 또는 스타일을 포함하는 적용되지 않습니다 .-h | -help사용가능한 명령 요약하여 출력하고 종료 합니다. 헥스 덤프가 수행되지 않습니다.-i | -includec언어 스타일의 형태를 포함합니다. XXD은 표준 입력에서 읽하지 않는 한, (입력 파일의 이름을 따서 명명) 완전한 정적 배열 정의 기록됩니다.(추가 그냥 c언어 스타일의 배열 형식으로 변환이 됨니다.)-l len | -len len<len>의 크기 만큼 출력하고 종료합니다.-p | -ps | -postscript | -plain일반 16진수로 출력합니다. 0x를 쓰지 않습니다.-r | -revert역 동작 : 변환 (또는 패치) 진에 16 진 덤프. 표준 출력에 작성하지 않은 경우, XXD는 잘라 내지 않고는 출력 파일에 기록합니다. 일반 진수가 행 번호 정보없이 특정 열 레이아웃없이 덤프 읽을 -p -r 조합을 사용한다. 추가 공백과 줄 바꿈은 어디서나 사용할 수 있습니다.-seek offset-r 옵션을 사용하는 경우 :<offset> 16진수 덤프를 파일로 되돌림니다.-s [+][-]seek절대값 <seek>바이트에서 사작합니다. + 현재 표준 입력 파일의 위치를 기준으로 찾아 나타냅니다타. (표준 입력에서는 읽히지 않을 수 있다는 의미 입니다). - 입력의 끝에서 많은 문자를해야 탐색 해야함을 나타냅니다 (또는 +와 결합된경우: 현재의 표준입력 파일 전에 위치합니다). -s 옵션 없이는 xxd는 현재 파일위치에서 시작합니다.-u대문자 진수 문자를 사용합니다. 기본값은 소문자 입니다.-v | -versionxxd의 버전을 출력합니다.
자세한건 xxd 홈페이지에서 확인해주세요 (영문)
xxd 홈페이지 http://linux.die.net/man/1/xxd