Jump to content

Шестнадцатеричный дамп

(Перенаправлено с Xxd )

В вычислительной технике шестнадцатеричный дамп — это текстовое шестнадцатеричное представление (на экране или на бумаге) (часто, но не обязательно двоичных ) компьютерных данных из памяти , компьютерного файла или устройства хранения . Просмотр шестнадцатеричного дампа данных обычно выполняется в контексте отладки , обратного проектирования или цифровой криминалистики . [ 1 ] Интерактивные редакторы, которые обеспечивают аналогичное представление, но также манипулируют рассматриваемыми данными, называются шестнадцатеричными редакторами .

В шестнадцатеричном дампе каждый байт (8 бит ) представлен как двузначное шестнадцатеричное число. Шестнадцатеричные дампы обычно организуются в строки по 8 или 16 байт, иногда разделенные пробелами. шестнадцатеричный адрес памяти Некоторые шестнадцатеричные дампы имеют в начале .

Некоторые распространенные названия этой программной функции: hexdump, hd, od, xxd и просто dump или даже D.

Пример текстового файла:

0123456789ABCDEF
/* ********************************************** */
	Table with TABs (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 байт, за исключением строки, содержащей один *. Символ * используется для обозначения того, что несколько вхождений одного и того же отображения были опущены. Последняя строка отображает количество байт, взятых из ввода.

В дополнительном столбце показан соответствующий 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  |** */..Table wit|
00000050  68 20 54 41 42 73 20 28  30 39 29 0a 09 31 09 09  |h TABs (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 в файле, который, как ожидается, будет использовать несколько пробелов.

The -v опция заставляет шестнадцатеричный дамп подробно отображать все данные:

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  |** */..Table wit|
00000050  68 20 54 41 42 73 20 28  30 39 29 0a 09 31 09 09  |h TABs (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

ПОСИКС [ 2 ] Команда может использоваться для отображения шестнадцатеричного дампа с опцией -tx.

# od -tx1 tableOfTabs.txt
00000000:1f8b 0808 d2e9 9766 0203 6461 7461 322e 
00000010: 6269 6e00 0141 02be fd42 5a68 3931 4159  
00000020: 2653 59ea 2468 ae00 0017 7fff dadb b7fb  
00000030: dbff 5ffb f3fb d776 3d6f fffb dbea fdbd  
00000040: 85db edfc ffa9 7def faaf efdf b001 386c 
00000050: 1001 a0d0 6d40 01a0 1a00 0006 8006 8000 
00000060: 0000 d034 01a1 a34d 0034 3d43 40d0 0d34  
00000070: d034 34da 9ea1 b49e a7a8 f29e 5106 4326 
00000080: 9a19 1934 d1a0 341a 6234 d018 d468 6834  
00000090: 00c9 a308 6434 0000 0308 d068 0680 1900  
000000a0: 0034 d068 1a34 d068 c3a7 a41a 0c9a 0d34 
000000b0: 641a 0646 8346 4003 4d34 1a68 6806 9a06 
000000c0: 9a64 d064 001a 0681 a343 10d0 d00d 1840 
000000d0: 01a3 21a0 68c9 a050 008a 0009 619a 9541 
000000e0: 25d5 8bc0 0ff3 e679 7fd0 31b2 c784 e7f7 
000000f0: 8fcb 33b8 28a5 bf86 4ac4 274f ce21 eeea  
00000100: 2c19 2633 60e9 ddd1 8d60 18e9 b189 4a94 
00000110: 3a14 ee61 ac8d d369 f545 a964 2617 f1fd 
00000120: 72dc 51d1 e601 1071 745d 846c 4677 4ba2 
00000130: 0562 5d79 894a 9150 dfe1 8083 e4c0 896f 
00000140: b75c d58b 4264 021c 625c c4f2 816a 8907  
00000150: 8b80 2b3e 4d2a f1b3 4fb4 6cee a869 1316  
00000160: c318 cdb5 b1cd 21c4 a23a 0297 65ae 8a2a 
00000170: 0cd2 0864 8a47 ed68 48f3 a65f 5803 dc9f 
00000180: b2e5 bbe0 daac 3d56 8c8b 4181 510f 017f 
00000190: 1328 9a47 6027 62c1 e4b4 db74 bb3a 9455 
000001a0: 07dd fd5b 19b5 e522 32e0 9b3e a3cf 0189 
000001b0: 4d9a 5edb 27be 1855 880f 7517 0ec0 a878 
000001c0: 2ee0 92a3 e339 4138 5cb7 517a a8b7 4dab 
000001d0: 8645 a681 214b 7f27 0cee 8ee5 3f4b 3a60 
000001e0: 530a 74b2 8acf 9044 e73c ca09 0d28 e5b4  
000001f0: 1471 0963 4a9c 3b75 73c0 4057 0c9c d0f2  .
00000200: 132a bb2c cc84 29cf 3568 9101 0a77 f033  
00000210: 41a4 8cfa f520 3ed5 8a4a 9528 1314 7b32  
00000220: 87c6 4825 698a 921e e1da 8f2d 4237 2da1  
00000230: 3f68 051d fe05 08cb 096d 4a17 ed35 2130  
00000240: 9d75 6c2f a414 8003 e650 ea14 4eb1 5fe2 
00000250: ee48 a70a 121d 448d 15c0 8914 1b20 4102  .
00000260: 0000

Оценки символов можно добавить с помощью опции -c:

0000000    0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
           30  31  32  33  34  35  36  37  38  39  41  42  43  44  45  46
0000020   \n   /   *       *   *   *   *   *   *   *   *   *   *   *   *
           0a  2f  2a  20  2a  2a  2a  2a  2a  2a  2a  2a  2a  2a  2a  2a
0000040    *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
           2a  2a  2a  2a  2a  2a  2a  2a  2a  2a  2a  2a  2a  2a  2a  2a

0000100    *   *       *   /  \n  \t   T   a   b   l   e       w   i   t
           2a  2a  20  2a  2f  0a  09  54  61  62  6c  65  20  77  69  74
0000120    h       T   A   B   s       (   0   9   )  \n  \t   1  \t  \t
           68  20  54  41  42  73  20  28  30  39  29  0a  09  31  09  09
0000140    2  \t  \t   3  \n  \t   3   .   1   4  \t   6   .   2   8  \t
           32  09  09  33  0a  09  33  2e  31  34  09  36  2e  32  38  09
0000160    9   .   4   2  \n                                            
           39  2e  34  32  0a                                            
0000165

В этом выводе символы TAB отображаются как \t, а символы новой строки — как \n.

ДАМП, ДДТ и ОТЛАДКА

[ редактировать ]

В 8-битной операционной системе CP/M, использовавшейся на первых персональных компьютерах, стандартная программа DUMP выводила файл по 16 байтов в строке с шестнадцатеричным смещением в начале строки и ASCII-эквивалентом каждого байта в конце. [ 3 ] : 1-41, 5-40–5-46  Байты, выходящие за пределы стандартного диапазона печатаемых символов ASCII (от 20 до 7E), будут отображаться как одна точка для визуального выравнивания. Этот же формат использовался для отображения памяти при вызове команды D в стандартном отладчике CP/M DDT . [ 3 ] : 4-5  Более поздние воплощения формата (например, в отладчике DOS DEBUG ) изменили пространство между 8-м и 9-м байтами на тире, не меняя общую ширину.

Это обозначение было сохранено в операционных системах, которые были прямо или косвенно производными от CP/M, включая DR-DOS , MS-DOS / PC DOS , OS/2 и Windows . В системах Linux команда hexcat также создает этот классический формат вывода. Основная причина создания этого формата заключается в том, что он умещает максимальный объем данных на стандартном экране или принтере шириной 80 символов, при этом его очень легко читать и просматривать визуально.

1234:0000: 57 69 6B 69 70 65 64 69 61 2C 20 74 68 65 20 66  Wikipedia, the f
1234:0010: 72 65 65 20 65 6E 63 79 63 6C 6F 70 65 64 69 61  ree encyclopedia
1234:0020: 20 74 68 61 74 20 61 6E 79 6F 6E 65 20 63 61 6E   that anyone can
1234:0030: 20 65 64 69 74 00 00 00 00 00 00 00 00 00 00 00   edit...........

Здесь самый левый столбец представляет адрес, по которому расположены байты, представленные следующими столбцами. CP/M и различные DOS системы работали в реальном режиме на x86 процессорах , где адреса состоят из двух частей (базовой и смещенной).

В приведенных выше примерах последние 00 — это несуществующие байты после конца файла. Некоторые инструменты дампа отображают другие символы, чтобы было ясно, что они находятся за пределами файла, обычно с использованием пробелов или звездочек, например:

1234:0000: 57 69 6B 69 70 65 64 69 61 2C 20 74 68 65 20 66  Wikipedia, the f
1234:0010: 72 65 65 20 65 6E 63 79 63 6C 6F 70 65 64 69 61  ree encyclopedia
1234:0020: 20 74 68 61 74 20 61 6E 79 6F 6E 65 20 63 61 6E   that anyone can
1234:0030: 20 65 64 69 74                                    edit

или

1234:0000: 57 69 6B 69 70 65 64 69 61 2C 20 74 68 65 20 66  Wikipedia, the f
1234:0010: 72 65 65 20 65 6E 63 79 63 6C 6F 70 65 64 69 61  ree encyclopedia
1234:0020: 20 74 68 61 74 20 61 6E 79 6F 6E 65 20 63 61 6E   that anyone can
1234:0030: 20 65 64 69 74 ** ** ** ** ** ** ** ** ** ** **   edit

См. также

[ редактировать ]
  1. ^ Либераторе, Марк (весна 2017 г.). «02: шестнадцатеричный дамп» . КОМПСИ 365/590F . Цифровая криминалистика. Архивировано из оригинала 29 октября 2023 г. Проверено 05 сентября 2022 г.
  2. ^ «ПОСИКС» . Проверено 29 октября 2023 г.
  3. ^ Перейти обратно: а б Руководство по операционной системе CP/M (PDF) (3-е изд.). Пасифик Гроув, Калифорния, США: Цифровые исследования . Сентябрь 1983 г., стр. 1–41, 4–5, 5–40–5–46. Архивировано (PDF) из оригинала 1 апреля 2023 г. Проверено 29 октября 2023 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 19f6f66a870bea5c129fc9d9b5e91dcb__1723114200
URL1:https://arc.ask3.ru/arc/aa/19/cb/19f6f66a870bea5c129fc9d9b5e91dcb.html
Заголовок, (Title) документа по адресу, URL1:
Hex dump - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)