ഒരു ഫയലിൻറെ Hexdump അല്ലെങ്കിൽ ടെക്സ്റ്റിന്റെ സ്ട്രിങ് എങ്ങനെ സൃഷ്ടിക്കാം

ആമുഖം

ഒരു ഹെക്സ് ഡംപ് എന്നത് ഡാറ്റയുടെ ഹെക്സാഡെസിമൽ കാഴ്ചയാണ്. ഒരു പ്രോഗ്രാം ഡീബഗ്ഗ് ചെയ്യുമ്പോൾ അല്ലെങ്കിൽ റിവേഴ്സ് എൻജിനീയർക്ക് ഒരു പ്രോഗ്രാമിൽ നിങ്ങൾ ഹെക്സാഡെസിമുകൾ ഉപയോഗിക്കാനാഗ്രഹിക്കുന്നു.

ഉദാഹരണത്തിന്, നിരവധി ഫയൽ ഫോർമാറ്റുകളിൽ പ്രത്യേക ഹെക്സ് പ്രതീകങ്ങളാണുള്ളത്. നിങ്ങൾ ഒരു പ്രോഗ്രാം ഉപയോഗിച്ച് ഒരു ഫയൽ വായിക്കാൻ ശ്രമിക്കുകയാണെങ്കിൽ ചില കാരണങ്ങളാൽ ഇത് ശരിയായി ലോഡുചെയ്തില്ല, നിങ്ങൾ ഫയൽ പ്രതീക്ഷിക്കുന്ന ഫോർമാറ്റിലല്ല ഇത്.

ഒരു പ്രോഗ്രാമിന് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് നിങ്ങൾക്ക് കാണാൻ കഴിയുന്നുണ്ടെങ്കിൽ, കോഡ് റിവേർസ് എഞ്ചിനീയർമാരോ സോഫ്റ്റ് വെയറില്ലെങ്കിലോ, ഹെക്സ് ഡംപ് നോക്കുന്നത് എന്തൊക്കെയാണെന്നു നോക്കാം.

ഹെക്സാഡെസിമൽ എന്താണ്?

കമ്പ്യൂട്ടറുകൾ ബൈനറിയിൽ കരുതുന്നു. ഓരോ പ്രതീകവും അക്കവും ചിഹ്നവും ബൈനറി അല്ലെങ്കിൽ മൾട്ടിപ്പിൾ ബൈനറി മൂല്യങ്ങളാൽ റഫർ ചെയ്യപ്പെടുന്നു.

എന്നിരുന്നാലും, മനുഷ്യർ ദശാംശത്തിൽ ചിന്തിക്കുന്നു.

ആയിരക്കണക്കിന് നൂറുകണക്കിന് പത്ത് യൂണിറ്റുകൾ
1 0 1 1

മനുഷ്യരെന്ന നിലയിൽ ഞങ്ങളുടെ ഏറ്റവും താഴ്ന്ന സംഖ്യകൾ യൂണിറ്റുകളായാണ് കണക്കാക്കുന്നത്. 0-ൽ 9 ആയിട്ടുള്ള സംഖ്യകളെ പ്രതിനിധീകരിക്കുന്നു. നമ്മൾ 10-ലേക്ക് പോകുമ്പോൾ യൂണിറ്റുകളുടെ നിര വീണ്ടും 0 ൽ പുനഃസജ്ജമാക്കി പത്ത് നിരയിലേക്ക് (10) ചേർക്കുക.

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

ബൈനറിയിൽ, ഏറ്റവും താഴ്ന്ന സംഖ്യ 0 ഉം 1 ഉം മാത്രമേ പ്രതിനിധീകരിക്കുന്നുള്ളൂ. നമുക്ക് കഴിഞ്ഞ 1 ലഭിക്കുമ്പോൾ 2 ന്റെ നിരയിലും 1 നിരയിലെ 0 ലും ഒരു 1 ആക്കുക. നിങ്ങൾ 4-നെ പ്രതിനിധീകരിക്കാൻ ആഗ്രഹിക്കുമ്പോൾ 4 നിരയിൽ ഒരു 1 ഇട്ടു, 2-കളെയും 1-കളെയും പുനഃസജ്ജമാക്കുക.

അതുകൊണ്ട് 15 ന്റെ പ്രതിനിധിയാകാൻ 1111 ആകും, അതിൽ 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 ആണന്നാണ് കാണിക്കുന്നത്. 96 ലെ ഉയരം വരുന്ന 16 ലെവലിലെ 6, പിന്നെ യൂണിറ്റുകളുടെ നിരയിൽ 100 ​​നിർമ്മിക്കുന്നു.

ഒരു ഫയലിലെ എല്ലാ പ്രതീകങ്ങളും ഒരു ഹെക്സാഡെസിമൽ മൂല്യം ഉപയോഗിച്ച് സൂചിപ്പിക്കപ്പെടും. ഫയലിന്റെ ഫോർമാറ്റിൽ ഈ മൂല്യങ്ങൾ എന്തെല്ലാമാണ് എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു. ഫയലിന്റെ ശൈലി സൂചിപ്പിക്കുന്നത് ഹെക്സാഡെസിമൽ മൂല്ല്യങ്ങളാണ്, അവ സാധാരണയായി ഫയലിന്റെ തുടക്കത്തിൽ സൂക്ഷിക്കുന്നു.

ഫയലുകളുടെ ആരംഭത്തിൽ ദൃശ്യമാകുന്ന ഹെക്സാഡെസിമൽ മൂല്യങ്ങളുടെ ക്രമം മനസ്സിലാക്കിക്കൊണ്ട്, ഫയൽ ഏത് ഫോർമാറ്റിൽ ആണെന്ന് നിങ്ങൾക്ക് മനസിലാക്കാൻ കഴിയും. ഫയൽ എപ്പോഴാണ് പ്രദർശിപ്പിച്ചിരിക്കുന്നത് എന്ന് ദൃശ്യമല്ലാത്ത പ്രതീകങ്ങൾ കണ്ടെത്തുന്നതിന് ഒരു ഹെക്സ് ഡമ്പിലുളള ഒരു ഫയൽ കാണുന്നത് സഹായിക്കും ഒരു സാധാരണ ടെക്സ്റ്റ് എഡിറ്ററിലേക്ക് ലോഡ് ചെയ്തു.

ഒരു ഹെക്സ് ഡംപ് എങ്ങനെ ലിനക്സ് ഉപയോഗിക്കുന്നു എന്നതിനെ സൃഷ്ടിക്കുക

ലിനക്സ് ഉപയോഗിച്ചു് ഹെക്സ് ഡംപ് തയ്യാറാക്കുന്നതിനായി hexdump കമാൻഡ് ഉപയോഗിയ്ക്കുക.

ഒരു ഫയൽ ടെർമിനലിലേക്ക് (സാധാരണ ഔട്ട്പുട്ട്) ഹെക്സുകൾ പ്രദർശിപ്പിക്കാൻ താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

hexdump ഫയൽനാമം

ഉദാഹരണത്തിന്

hexdump image.png

ഡീഫോൾട്ട് ഔട്ട്പുട്ട് ലൈൻ നമ്പർ (ഹെക്സാഡെസിമൽ ഫോർമാറ്റിൽ) പ്രദർശിപ്പിച്ച്, ഓരോ വരിയിലും 4 സെക്സിന്റെ 4 ഹെക്സാഡെസിമൽ മൂല്യങ്ങൾ പ്രദർശിപ്പിക്കും.

ഉദാഹരണത്തിന്:

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

സ്വതവേയുള്ള ഔട്ട്പുട്ട് മാറ്റുവാൻ നിങ്ങൾക്ക് വ്യത്യസ്തമായ switches നൽകാം. ഉദാഹരണത്തിന് മൈനസ് ബി സ്വിച്ച് വ്യക്തമാക്കുന്നത് 8 അക്ക ഓഫ്സെറ്റ് ഉത്പാദിപ്പിക്കും, അതിനുശേഷം 16 മൂന്ന് കോളം, പൂജ്യം പൂരിപ്പിച്ച്, ഒക്ടൽ ഫോർമാറ്റിലെ ഇൻപുട്ട് ഡാറ്റയുടെ ബൈറ്റുകൾ.

hexdump -b image.png

അതുകൊണ്ട് മേൽപ്പറഞ്ഞ ഉദാഹരണം ഇനി പറയുന്നവയാണ്.

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

മുകളിലുള്ള ഫോർമാറ്റ് ഒരു ബെയ്റ്റ് ഒക്ടൽ ഡിസ്പ്ലേ എന്ന് അറിയപ്പെടുന്നു.

ഫയൽ കാണാനുള്ള മറ്റൊരു വഴി മൈനസ് സി സ്വിച്ച് ഉപയോഗിച്ചുകൊണ്ട് ഒരു ബെയ്റ്റ് പ്രതീക ഡിസ്പ്ലേയിലാണ്.

hexdump -c image.png

ഇത് വീണ്ടും ഓഫ്സെറ്റ് പ്രദർശിപ്പിക്കുന്നു, പക്ഷേ ഈ സമയം പതിനാറ് ബഹിരാകാശങ്ങളാണുള്ളത്, ഒരു വരിയിൽ മൂന്ന് നിര, സ്പേസ് നിറഞ്ഞുനിൽക്കുന്ന സ്പീച്ച് പ്രതീകങ്ങൾ.

കാനോനിക്കൽ ഹെക്സ് + ascii ഡിസ്പ്ലേ, മൈനസ് സി സ്വിച്ച്, രണ്ട്-ബെയ്സ് ദശാംശ ഡിസ്പ്ലേ എന്നിവ ഉപയോഗിച്ച് പ്രദർശിപ്പിക്കാൻ കഴിയുന്ന മൈനസ് ഡി സ്വിച്ച് ഉപയോഗിച്ച് പ്രദർശിപ്പിക്കാൻ കഴിയും. രണ്ട്-ബൈറ്റ് ഒക്ടൽ ഡിസ്പ്ലേ പ്രദർശിപ്പിക്കുന്നതിന് മൈനസ് o സ്വിച്ച് ഉപയോഗിക്കാം. അവസാനമായി രണ്ട്-ബൈറ്റ് ഹെക്സാഡെസിമൽ ഡിസ്പ്ലെ കാണിക്കുന്നതിനായി minux x സ്വിച്ച് ഉപയോഗിയ്ക്കാം.

hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump -x image.png

ഫോർമാറ്റ് വ്യക്തമാക്കുന്നതിന് മൈനസ്, സ്വിച്ച് ഉപയോഗിക്കുമ്പോൾ മുകളിലുള്ള ഫോർമാറ്റുകളൊന്നും നിങ്ങളുടെ ആവശ്യങ്ങൾക്ക് അനുയോജ്യമല്ലെങ്കിൽ.

ഒരു ഡാറ്റാ ഫയൽ വളരെ വലുതാണെന്ന് നിങ്ങൾക്കറിയാമെങ്കിൽ ആദ്യത്തേത് ഏതാനും പ്രതീകങ്ങൾ അതിന്റെ തരം നിർണ്ണയിക്കാനാഗ്രഹിക്കുന്നുവെങ്കിൽ, ഹെക്സിൽ എത്രത്തോളം ഫയൽ പ്രദർശിപ്പിക്കണമെന്നത് വ്യക്തമാക്കാൻ -n സ്വിച്ച് ഉപയോഗിക്കാം.

hexdump -n100 image.png

മുകളിൽ പറഞ്ഞിരിക്കുന്ന കമാൻഡ് ആദ്യത്തെ നൂറ് ബൈറ്റുകൾ കാണിക്കുന്നു.

നിങ്ങൾക്ക് ഫയലിന്റെ ഒരു ഭാഗം ഒഴിവാക്കണമെങ്കിൽ നിങ്ങൾക്ക് മൈനസ് സ്വിച്ച് ഉപയോഗിക്കാൻ ആരംഭിക്കുന്നതിനായി ഓഫ്സെറ്റ് സജ്ജമാക്കാൻ കഴിയും.

hexdump -s10 image.png

നിങ്ങൾ ഒരു ഫയൽനാമം നൽകിയിട്ടില്ലെങ്കിൽ, സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിൽ നിന്ന് വായിച്ച വരികൾ.

നിങ്ങൾ താഴെ പറയുന്ന കമാൻഡ് നൽകുക:

hexdump

ശേഷം വാചകം ടൈപ്പുചെയ്യുന്നതിലൂടെ സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിലേക്ക് എന്റർ ചെയ്യുക. ഹെക്സ് സ്റ്റാൻഡേർഡ് ഔട്ട്പുട്ടിലേക്ക് പ്രദർശിപ്പിക്കും.

സംഗ്രഹം

Hexdump യൂട്ടിലിറ്റി വളരെ ശക്തമായ ഒരു ഉപകരണമാണു്, എല്ലാ ഫീച്ചറുകളും പൂർണ്ണമായി ഗ്രഹിയ്ക്കാൻ നിങ്ങൾക്കു് മാനുവൽ പേജ് വായിയ്ക്കണം.

ഔട്ട്പുട്ട് വായിക്കുമ്പോൾ നിങ്ങൾ എന്താണ് തിരയുന്നതെന്ന് നിങ്ങൾക്ക് നന്നായി മനസ്സിലാക്കേണ്ടതുണ്ട്.

മാനുവൽ പേജ് കാണുന്നതിനായി താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

മനുഷ്യൻ hexdump