육각 덤프?
RAM, 파일 또는 저장 장치에 있는 컴퓨터 데이터의 16진수 표현이며 주로 디버깅 또는 리버스 엔지니어링에 사용됩니다. (프로그램이 어떻게 동작하는지 궁금하거나 코드를 리버스 엔지니어링할 소스 코드나 소프트웨어가 없다면 이 값을 보고 어떤 일이 일어나는지 테스트해 볼 수 있습니다.)
16진수(Hex)
- 숫자는 0-15(2^4)를 나타낼 수 있으며 10-15는 로마자 AF 문자로 나타냅니다.
- 특히 컴퓨터에서 2^8은 2자리로 표현할 수 있는데, 1바이트를 나타내기에 좋은 약어입니다.
- 숫자 뒤에 (16) 기호를 붙이거나 16 또는 16진수를 아래첨자로 쓰는 방법을 사용한다.
- 접두사 0x를 붙여서 0x10으로 표현하기도 한다(프로그래밍 언어에서 16진수 상수(리터럴)을 표현하는 방법)
10진수 변환 예
- 이진수 > 16진수
10111010101010101011110100010(2) > 175557A2(16)
| 이진수 | (000)1 | 0111 | 0101 | 0101 | 0101 | 0111 | 1010 | 0010 |
| 십진수 | 하나 | 7 | 5 | 5 | 5 | 7 | 10 | 2 |
| 16진수 | 하나 | 7 | 5 | 5 | 5 | 7 | ㅏ | 2 |
- 16진수 > 이진수
25FB(16) > 10010111111011(2)
| 16진수 | 2 | 5 | 에프 | 비 |
| 십진수 | 2 | 5 | 16 | 11 |
| 이진수 | 0010 | 0101 | 1111 | 1011 |
xxd?
이 명령은 파일 또는 stdin에서 hexdump를 생성하거나 복원합니다. 바이너리 형식으로 hexdump를 생성할 수도 있습니다.
사용하는 방법
$ xxd (옵션) (변환할 파일명)
가능성
| -ㅏ | 단일 제로 라인을 ‘*’로 처리 |
| -비 | 덤프 출력 바이너리(0 또는 1) |
| -씨 | 행당 표시되는 열 수 설정 |
| -이자형 | 육각 덤프 *리틀 엔디안다음과 같이 출력 |
| -이자형 | ASCII의 오른쪽 문자열 *EBCDIC 변화 |
| -G | 출력 시 그룹에 바인딩된 바이트 수 설정 |
| -시간 | 사용 가능한 명령 요약을 인쇄하고 종료합니다. |
| -나 | C언어에서 사용 가능한 형식으로 출력 |
| -엘 | 설정된 길이 바이트 만큼만 출력 |
| -피 | 주소나 ASCII 없이 hexdump 콘텐츠만 덤프 |
| -아르 자형 | 16진수 데이터를 2진수 데이터로 변환 |
| -에스 | 설정된 저장 위치에서 Hexdump. position 또는 +position은 파일 시작 위치를 지정하고 position은 파일 끝 위치를 지정합니다. |
| -유 | 소문자 대신 대문자로 16진수 출력 |
| -V | xxd 버전의 출력 |
*리틀 엔디안?
데이터를 저장할 때 상위 바이트, 즉 큰 바이트가 먼저 저장됩니다. 빅 엔디안; 하위 바이트, 즉 작은 바이트를 먼저 저장하는 것이 좋습니다. 리틀 엔디안~라고 불리는
*EBCDIC(확장 BCD 교환 코드, Epsidic)
문자를 6비트로 표현하는 BCD 코드의 확장으로 확장 이진화 십진수라고 하며 8비트로 256개의 문자를 표현할 수 있다.
(참고로 아스키는 7비트)