Kako stvoriti Hexdump datoteke ili niz tekst

Uvod

Heksadni odlomak je heksadecimalni prikaz podataka. Možda ćete htjeti upotrijebiti heksadecimalni kod uklanjanja pogrešaka u programu ili za obrnuti inženjering programa.

Na primjer, mnogi formati datoteka imaju određene šesterokute znakove koji označavaju njihovu vrstu. Ako pokušavate pročitati datoteku pomoću programa i iz nekog razloga ne učitava ispravno, možda je datoteka u obliku koji očekujete.

Ako želite vidjeti kako program funkcionira, a nemate izvorni kod ili softver koji inzistira kod, možete pogledati heksadecimalni dump kako biste isprobali što se događa.

Što je heksadecimalno?

Računala misle binarnom . Svaki lik, broj i simbol upućuje na binarnu ili više binarnih vrijednosti.

Ljudska bića, međutim, imaju tendenciju da misle u decimalu.

tisuće Stotine deseci Jedinice
1 0 1 1

Kao ljudi, naši najniži brojevi nazivaju se jedinicama i predstavljaju brojeve od 0 do 9. Kada dođemo do 10, vratimo stupac jedinica natrag na 0 i dodamo 1 u desetke stupca (10).

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

U binarnom, najniži broj predstavlja samo 0 i 1. Kad smo dobili 1, stavili smo 1 u stupac 2 i 0 u stupac 1. Kada želite predstaviti 4, stavite 1 u 4 stupac i resetirajte stupac 2 i 1.

Stoga da biste predstavljali 15, imat ćete 1111 koji označava 1 osam, 1 četvero, 1 dva i jedan. (8 + 4 + 2 + 1 = 15).

Ako smo pregledali podatkovnu datoteku u binarnom formatu, to bi bilo apsolutno ogromno i praktički nemoguće imati smisla.

Sljedeći korak od binarnog je oktal, koji koristi 8 kao osnovni broj.

24 16 8 1
0 1 1 0

U oktalnom sustavu prvi stupac ide od 0 do 7, drugi stupac je 8 do 15, treći stupac 16 do 23 i četvrti stupac 24 do 31 i tako dalje. Iako je općenito lakše čitati od binarnih, većina ljudi preferira korištenje heksadecimalnog.

Heksadecimalni koristi 16 kao osnovni broj. Ovo je mjesto gdje se to zbunjuje, jer kao ljudi mislimo o brojevima od 0 do 9.

Pa što se koristi za 10, 11, 12, 13, 14, 15? Odgovor je slova.

Vrijednost 100 stoga je zastupljena s 64. Trebat će vam 6 stupca 16s, što dovodi 96, a zatim 4 u stupcu jedinica, što čini 100.

Svi znakovi u datoteci bit će označeni heksadecimalnom vrijednošću. Ono što ove vrijednosti znače ovisi o formatu datoteke. Format datoteke je označen heksadecimalnim vrijednostima koje se obično pohranjuju na početku datoteke.

S poznavanjem shema heksadecimalnih vrijednosti koje se pojavljuju na početku datoteka, možete ručno odrediti koji je format datoteke. Gledanje datoteke u hex dumpu može vam pomoći pronaći skrivene znakove koji se ne prikazuju kada je datoteka učitava se u uobičajeni urednik teksta.

Kako stvoriti Hex Dump pomoću Linuxa

Da biste stvorili heksadecimalni odlagalište pomoću Linuxa, upotrijebite hexdump naredbu.

Da biste prikazali datoteku kao heksadecimalni na terminal (standardni izlaz) pokrenite sljedeću naredbu:

hexdump ime datoteke

Na primjer

hexdump image.png

Zadani izlaz će prikazati broj linije (u heksadecimalnom formatu), a zatim 8 skupova od 4 heksadecimalne vrijednosti po retku.

Na primjer:

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

Možete ponuditi različite sklopke za promjenu zadanog izlaza. Na primjer, navođenje prekidača minus b će proizvesti 8 znamenki offset iza kojeg slijedi 16 tri stupca, nula ispunjena, bytes ulaznih podataka u oktalnom formatu.

hexdump-b slika.png

Stoga će gore navedeni primjer sada biti prikazan na slijedeći način:

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

Gornji format poznat je kao oktalni zaslon jednog bajta.

Drugi način prikaza datoteke nalazi se u prikazu jednog bajta pomoću tipke minus c.

hexdump -c image.png

To opet prikazuje pomak, ali ovaj put slijedi šesnaest razmaknutih prostora, tri stupca, prostor ispunjen znakova ulaznih podataka po retku.

Ostale opcije uključuju Canonical hex + ascii zaslon koji se može prikazati pomoću minus C prekidača i decimalnog zaslona od dva bajta koji se mogu prikazati pomoću minus d prekidača. Oznaka minus o može se koristiti za prikaz oktralnog zaslona od dva bajta. Konačno se minux x preklopnik može koristiti za prikaz dva bajta heksadecimalnog zaslona.

hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump -x image.png

Ako nijedan od gore navedenih formata ne odgovara vašim potrebama, upotrijebite minus e preklopnik kako biste odredili format.

Ako znate da je podatkovna datoteka vrlo dugačka i samo želite vidjeti prvih nekoliko znakova kako biste odredili njegovu vrstu, možete upotrijebiti -n preklopnik kako biste odredili koliko će se datoteke prikazati u heksadecimalnom.

hexdump -n100 image.png

Gornja naredba prikazuje prvih sto bajtova.

Ako želite preskočiti dio datoteke, možete upotrijebiti minus s preklopnik da biste postavili pomak od početka.

hexdump -s10 image.png

Ako ne nabavite naziv datoteke, tekst se čita iz standardnog unosa.

Jednostavno unesite sljedeću naredbu:

hexdump

Zatim unesite tekst u standardni unos i završite upisivanjem prekida. Šesterokut će biti prikazan u standardnom izlazu.

Sažetak

Hexdump program je očito prilično moćan alat i svakako biste trebali pročitati ručnu stranicu kako biste se potpuno prilagodili svim značajkama.

Također biste trebali dobro razumjeti ono što tražite prilikom čitanja izlaza.

Za prikaz ručne stranice pokrenite sljedeću naredbu:

čovjek hexdump