Jump to content

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

В вычислительной технике шестнадцатеричный дамп — это текстовое шестнадцатеричное представление (на экране или на бумаге) (часто, но не обязательно двоичных ) компьютерных данных из памяти , компьютерного файла или устройства хранения . Просмотр шестнадцатеричного дампа данных обычно выполняется в контексте отладки , обратного проектирования или цифровой криминалистики . [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
0000000    30  31  32  33  34  35  36  37  38  39  41  42  43  44  45  46
0000020    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    2a  2a  20  2a  2f  0a  09  54  61  62  6c  65  20  77  69  74
0000120    68  20  54  41  42  73  20  28  30  39  29  0a  09  31  09  09
0000140    32  09  09  33  0a  09  33  2e  31  34  09  36  2e  32  38  09
0000160    39  2e  34  32  0a                                            
0000165

Оценки символов можно добавить с помощью опции -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
Номер скриншота №: fc2cdd4a2b425b42844cbdfa89fa621c__1708090860
URL1:https://arc.ask3.ru/arc/aa/fc/1c/fc2cdd4a2b425b42844cbdfa89fa621c.html
Заголовок, (Title) документа по адресу, URL1:
Hex dump - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)