XXD

포스트: 2|조회수: 0|ARTIFACT
Items

Posts

2 posts

xxd - 리눅스에서 16진수를 바이너리 파일로 변환

반달가면|2017년 6월 27일

바이너리 파일을 16진수로 출력해 주는 도구인 xxd를 이용해서 반대로 16진수를 바이너리 파일로 만들 수도 있구나. 바이너리 파일 내용을 16진수로 출력하는 방법은 이전 게시물을 참고하자. 여기로 16진수에서 바이너리 파일로의 변환은 xxd에서 -r 옵션을 이용하면 된다. 예를 들어 문자열 "abc"에 해당되는 16진수 "0x61 0x62 0x63"을 바이너리 파일로 만들고 싶다면 아래와 같이 할 수 있을 것이다. # 16진수 파일 data.hex 만들기 echo "616263" > data.hex # data.hex 파일을 바이너리 데이터로 변환한 출력을 data.bin으로 저장 xxd -r -p data.hex > data.bin # data.bin 내용 확인

xxd - 리눅스에서 바이너리 파일 내용을 16진수로 출력하기

반달가면|2017년 6월 19일

리눅스에서 바이너리 파일 내용을 16진수로 출력해야 할 경우 xxd라는 요긴한 도구가 있다. 아래의 예시를 보자. # data.bin 파일 내용 출력 xxd data.bin 0000000: 1f8b 0800 ... 0000010: e103 6abb ... ... 위와 같이 입력하면 통상 많이 볼 수 있는 바이너리 파일 편집기와 유사한 형식으로 내용을 출력해 준다. 기본 출력은 2바이트씩 묶어서 공백으로 구분해서 보여주는데, 만약 각 바이트마다 공백으로 구분하려면 -g 옵션을 추가해 주자. # data.bin 파일 내용 출력, 1바이트 단위로 구분 xxd -g 1 data.bin 0000000: 1f 8b 08 00 ... 0000010: e1 03 6a bb ... ...