Како да креирате хексадејм од датотека или текст од текст

Вовед

Хекс-депонија е хексадецимален преглед на податоци. Може да посакате да користите хексадецимален при дебагирање на програма или за обратна инжинерска програма.

На пример, многу формати на датотеки имаат специфични хедешки знаци за да го означат нивниот тип. Ако се обидувате да прочитате датотека користејќи програма и поради некоја причина не се вчитува правилно, може да биде дека датотеката не е во формат што го очекувате.

Ако сакате да видите како програмата функционира и немате изворниот код или парче софтвер што го обратнуваат инженерот на кодот, можете да го погледнете делот за хексадецима, за да пробате да разработите што се случува.

Што е хексадецимално?

Компјутерите мислат во бинарна . Секој знак, број и симбол се референцирани со бинарни или повеќе бинарни вредности.

Човечките суштества, сепак, имаат тенденција да размислуваат во децимали.

Илјадници Стотици Десетици Единици
1 0 1 1

Како луѓе, нашите најниски броеви се нарекуваат единици и ги претставуваат броевите од 0 до 9. Кога стигнуваме до 10, ние ја ресетираме колоната на единиците назад на 0 и додаваме 1 во колона десетици (10).

128 64 32 16 8 4 2 1
1 0 0 1 0 0 0 1

Во бинарен, најнискиот број претставува само 0 и 1. Кога ќе добиеме 1, ставаме 1 во колоната 2 и 0 во 1 колона. Кога сакате да ги прикажете 4, поставите 1 во 4 колона и ресетирајте ги колоните 2 и 1.

Затоа да претставувате 15, ќе имате 1111, што значи 1 осум, 1 четири, 1 две и 1 еден. (8 + 4 + 2 + 1 = 15).

Ако гледаме датотека со податоци во бинарен формат, би било апсолутно огромно и практично невозможно да се направи смисла.

Следниот чекор од бинарна е осман, кој користи 8 како основен број.

24 16 8 1
0 1 1 0

Во окталниот систем првата колона се движи од 0 до 7, втората колона е 8 до 15, третата колона 16 до 23 и четвртата колона од 24 до 31 и така натаму. Иако генерално полесно да се читаат од бинарни, повеќето луѓе претпочитаат да користат хексадецимален.

Хексадецималот користи 16 како основен број. Сега ова е местото каде што станува збунувачки, бидејќи како луѓе мислиме на бројки како 0 до 9.

Значи, што се користи за 10, 11, 12, 13, 14, 15? Одговорот е писмата.

Затоа вредноста 100 е застапена со 64. Ќе ви бидат потребни 6 од 16-те колони, што ќе доведе до 96, а потоа 4 во колоната единици што ќе направат 100.

Сите ликови во датотека ќе бидат обележани со хексадецимална вредност. Што овие вредности значат зависат од формата на самата датотека. Форматот на датотеката се означува со хексадецимални вредности кои обично се зачувуваат на почетокот на датотеката.

Со познавање на редоследот на хексадецималните вредности што се појавуваат на почетокот на датотеките, можете рачно да откриете во кој формат е датотеката. Гледањето на датотека во хексадецимален дефект може да ви помогне да пронајдете скриени знаци кои не се прикажани кога датотеката е вчитан во нормален текстуален уредувач.

Како да создадете депонија со помош на Linux

За да креирате хексадејк со употреба на Linux, користете команда hexdump.

За прикажување на датотека како хексадецим кон терминалот (стандарден излез) извршете ја следнава команда:

hexdump име на датотека

На пример

hexdump image.png

Стандардниот излез ќе го прикаже бројот на линијата (во хексадецимален формат), а потоа 8 групи од 4 хексадецимални вредности по линија.

На пример:

00000000 5089 474e 0a0d 0a1a 0000 0d00 4849 5244

Можете да доставувате различни прекинувачи за да го промените стандардниот излез. На пример, специфицирањето на прекинувачот minus b ќе произведе 8-цифрен офсет проследено со 16 три колони, нула пополнети, бајти на влезните податоци во октален формат.

hexdump-b image.png

Затоа горенаведениот пример сега ќе биде претставен на следниов начин:

00000000 211 120 116 107 015 012 032 012 000 000 000 015 111 110 104 122

Горенаведениот формат е познат како еден-бајтоктален дисплеј.

Друг начин за прегледување на датотеката е прикажување со еден бајт со употреба на минус c прекинувачот.

hexdump -c image.png

Ова повторно го прикажува поместувањето, но овојпат проследен со шеснаесет просторно одделени, три колони, ликовите пополнети со празно место на влезни податоци по линија.

Други опции вклучуваат Canonical hex + ascii дисплеј кој може да се прикаже со помош на минус C-прекинувачот и дво-бајт децимален дисплеј кој може да се прикаже со помош на minus d прекинувачот. Прекинувачот minus o може да се користи за прикажување на дво-бајтоктален дисплеј. Конечно, прекинувачот minux x може да се користи за прикажување на два-бајт хексадецимален дисплеј.

hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump-x image.png

Ако ниту еден од горенаведените формати не одговараат на вашите потреби за да го користите минус e прекинувачот за да го одредите формат.

Ако знаете дека датотеката со податоци е многу долга и само сакате да ги видите првите неколку знаци за да го одредите неговиот тип можете да го користите -n прекинувачот за да одредите колку од датотеката да се прикаже во хексадецимален.

hexdump-n100 image.png

Горенаведената команда ги прикажува првите сто бајти.

Ако сакате да прескокнете дел од датотеката, можете да го користите прекинувачот minus s за да поставите поместување за да започнете.

hexdump -s10 image.png

Доколку не го наведете името на датотеката, текстот се чита од стандардниот влез.

Едноставно внесете ја следнава команда:

hexdump

Потоа внесете го текстот во стандардниот влез и завршете со внесување откажување. Хексадекот ќе се прикаже на стандардниот излез.

Резиме

Уредот hexdump е очигледно прилично моќна алатка и дефинитивно треба да ја прочитате страницата за прирачник за целосно да се справите со сите карактеристики.

Вие исто така ќе треба добро разбирање на она што го барате при читање на излезот.

За да ја видите страницата со упатства, извршете ја следнава команда:

човек хекспам