Kon Unsaon Paghimo Usa ka Hexdump Sa Usa ka File O String Sa Teksto

Pasiuna

Ang hex dump usa ka hexadecimal nga panglantaw sa datos. Mahimo nimong gamiton ang hexadecimal sa pag-debug sa usa ka programa o sa pag-reverse engineer sa usa ka programa.

Pananglitan, daghang mga format sa file adunay piho nga mga karakter sa hex aron magpaila sa ilang klase. Kon naningkamot ka sa pagbasa sa usa ka file gamit ang usa ka programa ug alang sa usa ka rason nga wala kini sa pagkarga sa husto, tingali nga ang file wala sa format nga imong gilauman.

Kung gusto nimo makita kung giunsa ang usa ka programa nga nagtrabaho ug wala nimo ang source code o piraso sa software nga nag-usab sa mga enhinyero sa code, mahimo nimong tan-awon ang hex dump aron sa pagsulay ug pagtrabaho kung unsay nanghitabo.

Unsa ang Hexadecimal?

Ang mga kompyuter naghunahuna sa binary . Ang matag kinaiya, numero, ug simbolo girarehistro sa binary o multiple binary values.

Ang mga tawo, bisan pa niana, kanunay nga maghunahuna sa desimal.

Linibo Gatusan ka Napulo Mga yunit
1 0 1 1

Ingon nga mga tawo, ang among labing ubos nga mga numero gitawag nga mga yunit ug nagrepresentar sa mga numero 0 ngadto sa 9. Sa diha nga kita makaabot sa 10 kita mag-reset sa mga yunit nga kolum balik sa 0 ug idugang ang 1 sa napulo ka kolum (10).

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

Sa binary, ang pinakagamay nga gidaghanon nagrepresentar lamang sa 0 ug 1. Sa diha nga kita makaagi 1 kita magbutang sa 1 sa 2 sa kolum ug usa 0 sa 1 kolum. Kung gusto nimo magrepresentar 4 imong ibutang ang 1 sa 4 nga kolum ug i-reset ang 2 ug 1 nga kolum.

Busa aron magrepresentar 15 ikaw adunay 1111 nga nagbarug alang sa 1 walo, 1 upat, 1 duha ug usa 1. (8 + 4 + 2 + 1 = 15).

Kung atong gitan-aw ang data file sa binary format kini mahimong hingpit nga dako ug halos imposible nga masabtan.

Ang sunod nga tikang gikan sa binary mao ang octal, nga naggamit sa 8 ingon nga base nga numero.

24 16 8 1
0 1 1 0

Sa usa ka oktal nga sistema ang unang kolum naggikan sa 0 ngadto sa 7, ang ikaduha nga kolum mao ang 8 ngadto sa 15, ang ikatulong kolum 16 ngadto sa 23 ug ang ikaupat nga kolum 24 ngadto sa 31 ug uban pa. Samtang kasagaran mas sayon ​​sa pagbasa kay sa binary ang kadaghanan sa mga tawo gusto nga magamit ang hexadecimal.

Ang hexadecimal naggamit sa 16 ingon nga base nga numero. Karon kini diin kini nahimong makalibog tungod kay isip mga tawo kita maghunahuna sa mga numero nga 0 ngadto sa 9.

Busa unsay gigamit alang sa 10, 11, 12, 13, 14, 15? Ang tubag mao ang mga sulat.

Busa ang bili 100 gihulagway sa 64. Kinahanglan nimo ang 6 sa 16s nga kolum nga nagdala sa 96 ug unya 4 sa mga yunit nga kolum nga naghimo sa 100.

Ang tanan nga mga karakter sa usa ka file ipaila sa usa ka hexadecimal value. Ang gipasabot niini nga mga prinsipyo nagdepende sa format sa file mismo. Ang format sa file gipaila sa hexadecimal values ​​nga sagad gitipigan sa sinugdanan sa file.

Uban sa kahibalo sa han-ay sa mga hexadecimal values ​​nga makita sa sinugdanan sa mga file, mahimo nimong gamiton kung unsa man ang format sa file. Ang pagtan-aw sa usa ka file sa usa ka hex dump makatabang kanimo sa pagpangita sa mga gitago nga mga character nga wala gipakita kung ang file gikarga sa usa ka normal nga editor sa text.

Unsaon Paghimo Usa ka Hex Dump Paggamit sa Linux

Ang paghimo sa usa ka hex dump gamit ang Linux naggamit sa hexdump command.

Aron magpakita sa usa ka file sama sa hex sa terminal (standard output) modagan ang mosunod nga sugo:

hexdump filename

Pananglitan

hexdump image.png

Ang default nga output magpakita sa numero sa linya (sa hexadecimal format) ug dayon 8 set nga 4 ka mga hexadecimal nga mga bili kada linya.

Pananglitan:

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

Mahimo ka mag-supply sa lainlaing mga switch aron mausab ang default output. Pananglitan ang pagpunting sa minus b switch makamugna og 8 digit nga offset nga gisundan sa 16 nga tulo ka kolum, zero puno, bytes sa input data sa octal format.

hexdump -b image.png

Busa ang mga pananglitan sa ibabaw karon girepresentar sa mosunod:

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

Ang labaw sa pormat nailhan nga one-byte octal display.

Ang laing paagi sa paglantaw sa file anaa sa usa-byte nga pagpakita sa karakter gamit ang minus c switch.

hexdump -c image.png

Kini nagpakita pag-usab sa offset apan kini nga panahon gisundan sa napulo'g unom ka luna nga gibulag, tulo ka kolum, luna nga puno sa mga karakter sa input data matag linya.

Ang uban pa nga mga kapilian naglakip sa Canonical hex + ascii display nga mahimo nga gipakita gamit ang minus C switch ug two-byte decimal display nga mahimong ipakita gamit ang minus d switch. Ang minus o switch pwede gamiton aron ipakita ang display nga duha o kaha octal. Sa katapusan ang minux x switch mahimo nga gamiton sa pagpakita sa duha-byte nga hexadecimal display.

hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump -x image.png

Kung wala sa mga format sa ibabaw nga nahiangay sa imong mga panginahanglan kanimo gamiton ang minus e switch aron mahatag ang format.

Kung nahibal-an nimo ang usa ka datos nga datos dugay kaayo ug gusto nimo nga makita ang unang pipila ka mga karakter aron mahibal-an ang iyang klase nga mahimo nimo gamiton ang -n switch aron mahibal-an kung unsa kadaghan sa file ang ipakita sa hex.

hexdump -n100 image.png

Ang labaw sa sugo nagpakita sa unang gatusan nga byte.

Kung buot nimo nga laktawan ang usa ka bahin sa file nga imong magamit ang switch sa minus aron sa pagpahimutang sa usa ka offset nga magsugod gikan.

hexdump -s10 image.png

Kon wala ka mag supply sa filename ang teksto mabasa gikan sa standard input.

Pagsulod lang sa mosunod nga sugo:

hexdump

Dayon ipasok ang teksto ngadto sa standard input ug finish pinaagi sa pag-type sa quit. Ang hex ipakita sa standard output.

Sumaryo

Ang hexdump utility mao ang klaro nga usa ka gamay gamay nga himan ug kinahanglan nga siguradong basahon ang manwal nga panid aron hingpit nga maangkon ang tanan nga mga bahin.

Kinahanglan mo usab ang usa ka maayo nga pagsabut sa unsay imong gipangita sa dihang gibasa ang output.

Aron sa pagtan-aw sa manwal nga panid magdagan ang mosunod nga sugo:

tawo nga hexdump