16진수 덤프

Hex dump

컴퓨팅에서 16진수 덤프는 메모리, 컴퓨터 파일 또는 스토리지 디바이스에서 컴퓨터 데이터를 16진수 표시(화면 또는 종이)로 표시한 것입니다.데이터 16진수 덤프는 보통 디버깅 또는 리버스 엔지니어링의 컨텍스트에서 조사됩니다.

16진수 덤프에서는 각 바이트(8비트)는 2자리 16진수로 표시됩니다.16진수 덤프는 보통 8바이트 또는 16바이트의 행으로 구성되어 있으며 공백으로 구분되는 경우도 있습니다.일부 16진수 덤프는 처음에 16진수 메모리주소를 가지고 있습니다.

이 프로그램 기능의 일반적인 이름은 다음과 같습니다.hexdump,hd,od,xxd간단히 말하면dump또는 심지어D.

샘플

샘플 텍스트 파일:

0123456789ABCDEF /***************************************************/ 탭 포함 테이블(09)1 2 3 3.14 6.28 9.42

UNIX에 표시되는 대로 hexdump:

0000000 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 0000010 0a 2f 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0000020 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a * 0000040 2a 2a 20 2a 2f 0a 09 54 61 62 6c 65 20 77 69 74 0000050 68 20 54 41 42 73 20 28 30 39 29 0a 09 31 09 09 0000060 32 09 09 33 0a 09 33 2e 31 34 09 36 2e 32 38 09 0000070 39 2e 34 32 0a                                  0000075 

맨 왼쪽 열은 다음 열의 값에 대한 16진수 변위(또는 주소)입니다.각 행에는 16바이트가 표시됩니다.단, 1개의 *가 포함된 행을 제외합니다.*는 같은 표시가 여러 번 생략되었음을 나타냅니다.마지막 줄에는 입력에서 얻은 바이트 수가 표시됩니다.

추가 컬럼에는 대응하는 ASCII 문자 변환이 표시됩니다.hexdump -C또는hd:

00000000  30 31 32 33 34 35 36 37  38 39 41 42 43 44 45 46   0123456789ABCDEF  00000010  0a 2f 2a 20 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a   ./* ************  00000020  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a   ****************  * 00000040  2a 2a 20 2a 2f 0a 09 54  61 62 6c 65 20 77 69 74   ** */..테이블 위트  00000050  68 20 54 41 42 73 20 28  30 39 29 0a 09 31 09 09   h 탭(09)..1..  00000060  32 09 09 33 0a 09 33 2e  31 34 09 36 2e 32 38 09   2..3..3.14.6.28.  00000070  39 2e 34 32 0a                                     9.42.  00000075 

여러 공간을 사용해야 하는 파일에서 TAB 문자를 찾을 때 유용합니다.


-v옵션을 지정하면 hexdump는 모든 데이터를 상세하게 표시합니다.

00000000  30 31 32 33 34 35 36 37  38 39 41 42 43 44 45 46   0123456789ABCDEF  00000010  0a 2f 2a 20 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a   ./* ************  00000020  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a   ****************  00000030  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a   ****************  00000040  2a 2a 20 2a 2f 0a 09 54  61 62 6c 65 20 77 69 74   ** */..테이블 위트  00000050  68 20 54 41 42 73 20 28  30 39 29 0a 09 31 09 09   h 탭(09)..1..  00000060  32 09 09 33 0a 09 33 2e  31 34 09 36 2e 32 38 09   2..3..3.14.6.28.  00000070  39 2e 34 32 0a                                     9.42.  00000075 

ud

POSIX [ 1 ]명령어를 사용하면 -t x 옵션과 함께 16진수 덤프를 표시할 수 있습니다.

od - tx1 table Of Tabs 수.txt 0000000 30 32 34 35 37 38 38 41 42 45 46 0000020 0a 2f 2a 20 2a 2a 2a 2a 2a 2a 2a 0000040 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a9 29 0a 09 31 09 0000140 32 09 33 0a 09 33 2e 31 34 09 36 2e 32 38 09 00160 39 2e 34 32 0a 0000165

캐릭터 평가는 -c 옵션을 사용하여 추가할 수 있습니다.

0000000 0 1 2 3 4 5 6 8 9A B C D E 30 31 32 33 34 36 38 39 41 43 44 45 46 0000020 \n / * * * * * * * * * * * * * * * * 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a* * * * 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a * 0000100 * * / \n \t T a b e w i t 2a 2a 20 2f 09 54 61 62 6c 65 77 0000120 T A 0120 1 \t ( 0s )28 30 39 29 0a 09 31 09 0000140 2 \t \t 3 \n \t 3 . 1 4 \t 6 . 2 8 \t 32 09 33 09 33 2e 31 34 09 36 2e 32 09 00160 9 . 4 \n 39 2e 34 09 00165

이 출력에서는 TAB 문자는 \t, NEWLINE 문자는 \n으로 표시됩니다.

덤프, DDT 및 디버깅

초기 퍼스널컴퓨터에서 사용된 CP/M 8비트 운영체제에서는 표준 DUMP 프로그램은 줄마다 16바이트의 파일을 나열하고 줄의 시작 부분에 16진수 오프셋을 지정하고 [1]끝에 각 바이트의 ASCII를 표시합니다.인쇄 가능한 ASCII 문자(20~7E)의 표준 범위를 벗어나는 바이트는 시각적 정렬을 위해 단일 주기로 표시됩니다.이 포맷은 표준 CP/M [2]디버거 DDT에서 D 명령어를 호출할 때 메모리를 표시하기 위해 사용되었습니다. 나중에 포맷을 구현하면 (예를 들어 DOS 디버거에서) 8번째와 9번째 바이트 사이의 공간을 대시로 변경했지만 전체 너비는 변경하지 않았습니다.

이 표기법은 DR-DOS, MS-DOS, OS/2 Windows를 포함한 CP/M에서 직접 또는 간접적으로 파생된 운영체제에서 유지되고 있습니다.Linux 시스템에서는 hexcat 명령어를 사용하면 이 클래식한 출력 형식도 생성됩니다.이 포맷을 설계한 주된 이유는 표준 80자 폭의 화면이나 프린터에 최대량의 데이터를 넣으면서도 시각적으로 읽고 스킵하기 쉽기 때문입니다.

1234:0000: 57 69 6B 69 70 65 64 69 61 2C 20 74 68 65 20 66  위키피디아, f 1234:0010: 72 65 65 20 65 6E 63 79 63 6C 6층 70 65 64 69 61  리 백과사전 1234:0020: 20 74 68 61 74 20 61 6E 79 6층 6E 65 20 63 61 6E   누구나 할 수 있는 1234:0030: 20 65 64 69 74 00 00 00 00 00 00 00 00 00 00 00   편집.............. 

여기서 맨 왼쪽 열은 다음 열로 표시되는 바이트가 위치한 주소를 나타냅니다.CP/M 및 다양한 DOS 시스템은 x86 CPU 상에서 실제 모드로 실행되며, 주소는 2개의 부분(베이스와 오프셋)으로 구성됩니다.

위의 예에서 마지막 00은 파일 끝을 초과하는 존재하지 않는 바이트입니다.일부 덤프 도구는 파일 끝에 있는 다른 문자를 표시하므로 일반적으로 공백 또는 별표(예:

1234:0000: 57 69 6B 69 70 65 64 69 61 2C 20 74 68 65 20 66  위키피디아, f 1234:0010: 72 65 65 20 65 6E 63 79 63 6C 6층 70 65 64 69 61  리 백과사전 1234:0020: 20 74 68 61 74 20 61 6E 79 6층 6E 65 20 63 61 6E   누구나 할 수 있는 1234:0030: 20 65 64 69 74                                    편집하다 

또는

1234:0000: 57 69 6B 69 70 65 64 69 61 2C 20 74 68 65 20 66  위키피디아, f 1234:0010: 72 65 65 20 65 6E 63 79 63 6C 6층 70 65 64 69 61  리 백과사전 1234:0020: 20 74 68 61 74 20 61 6E 79 6층 6E 65 20 63 61 6E   누구나 할 수 있는 1234:0030: 20 65 64 69 74 ** ** ** ** ** ** ** ** ** ** **   편집하다 

「 」를 참조해 주세요.

레퍼런스

  1. ^ CP/M 2.2 매뉴얼 1-41페이지 및 5-40~5-46페이지
  2. ^ CP/M 2.2 매뉴얼 4-5페이지

외부 링크

  • Hexdump Unix Utility의 광범위한 사용 예
  • hdr 시각화를 용이하게 하기 위해 컬러링된 범위를 가진 헥스덤프.데이터 건너뛰기, 비트필드 표시, 복잡한 범위 정의... 옵션은 'hdr_examples.pod' 링크를 따릅니다.
  • 바이트 니블 및 니블비트를 검색하기 위한 16진수 치트시트.