Vad är en Hex Dump?

En hexdump är en ögonblicksbild av datorminne, vanligen visad som text antingen på en skärm eller i en utskrift. Hexadecimal, eller hex, är ett bas-16 talsystem som används av datorer för att representera binär kod när människor behöver läsa den. Datordumpar är det vanliga namnet för att skriva information i minnet till en fil, ofta före ett programfel. Med det i åtanke används en hex-dump vanligtvis av människor för att arbeta igenom exakt vad en dator gjorde precis innan en krasch.

För att förstå en hexdump är det nödvändigt att förstå lite om hur alternativa nummersystem fungerar. Talsystem noteras som bas-[värde]. Värdet i ett talsystem avgör hur många siffror av tal det finns i systemet. Till exempel använder de flesta normalt ett bas-10-system som har tio tal, noll till nio. Även om det kan vara svårt att förstå nummersystem som är andra än bas-10, är ​​det väldigt enkelt för datorer. Olika basräkningssystem möjliggör snabbare program och bättre lagringsmetoder än ett standardbas-10-system.

De flesta datorkoder fungerar binärt, en serie av 1:or och 0:or som representerar på och av i datorns magnetiska minne. Som ett bas-2-system har binärt mycket stora tal som representerar relativt små bas-10-tal. Som ett exempel, ”1001” i binär är lika med nio i bas-10. När datorer lagrar binär data gör de det i två fyrsiffriga block, kallade en byte, som var och en representerar ett nummer. Ett block som läser ”0100 1101” skulle vara ”4 13” i bas-10 notation.

Hexadecimal är ett bas-16 talsystem som innehåller värdena noll till 15. Eftersom det största talet som kan skrivas med fyra siffror i binärt är ”1111” eller ”15” i bas-10, är ​​det fyrsiffriga binära talet lättare och kortare att skriva i hex. Att skriva värden i hex förkortar varje byte från åtta siffror till två siffror.

Ett typiskt hexadecimalt värde kan se lite annorlunda ut än en bas-10-siffra. Medan värdena för noll till nio förblir desamma, får 10 till 15 ett enda representativt värde. Dessa värden representeras av AF. I bas-10 skulle detta vara ett grundläggande matematiskt problem: 4+11=15. I hex skulle samma problem se ut så här: 4+B=E.

Hexdumpar använder alla dessa omvandlingar och siffror för att spotta ut en textrepresentation av vad som skrevs i datorns minne vid tidpunkten för dumpningen. En typisk hexdump har rad efter rad med siffror i täta och konsekventa kolumner, alla skrivna i hex. Den första kolumnen är radens minnesadress och består av sju siffror. Efter minnesadressen är värdena för det utrymmet konverterade till hex från binär. Dessa är vanligtvis grupper av två värden, som representerar en byte, eller fyra värden, som representerar två. Den sista kolumnen är adressens kontrollsumma, ett värde som används för att verifiera informationens riktighet, och är vanligtvis sexsiffrigt.