Bir Faylın Hexdump'u və ya Metin Stringini Oluşturma

Giriş

Heks dökümü məlumatların on altı dəqiqəlik görünüşüdür. Bir proqramı düzəltmək və ya bir proqramı tərtib etmək üçün hexadecimal istifadə etmək istəyə bilərsiniz.

Məsələn, bir çox fayl formatında öz növlərini göstərmək üçün xüsusi hex simvolları var. Bir proqramı istifadə edərək bir fayl oxumağa çalışıyorsanız və nədənsə düzgün yüklənmirsə, faylın gözlədiyiniz formatda olmadığı ola bilər.

Bir proqramın necə işlədiyini görmək və kodunuzu tərtib edən proqram kodunu və ya proqramın bir parçası olmadığını görmək istəyirsinizsə, baş verənləri sınamaq və işləmək üçün hex dumpinə baxa bilərsiniz.

Hexadecimal nədir?

Kompüterlər ikili düşünür. Hər bir xarakter, nömrə və simvolu ikili və ya çoxlu ikili dəyərlər ilə istinad edilir.

İnsanlar isə ondalık düşünməyə meyllidirlər.

Minlərlə Yüzlərlə Onlarla Birimler
1 0 1 1

İnsanlar olaraq, ən aşağı ədədlər vahid adlanır və 0'dan 9'a qədər nömrələri təmsil edir. 10-a çatdığımızda ədəd sütunu sıfırlanır və on sütunun (10) 1-ə əlavə olunur.

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

İkili olaraq, ən aşağı rəqəm yalnız 0 və 1-i təmsil edir. Biz keçmişdə 1-i 2 sütunu 1 və 1 sütununda 0 qoyduq. 4 təmsil etmək istədiyiniz zaman 4 sütununda 1 ədəd qoyub 2 və 1 sütunu sıfırlayın.

Buna görə 15 təmsil etmək üçün 1111, 1 səkkiz, 1, 4, 1, 2 və 1 birinə sahib olacaqsınız. (8 + 4 + 2 + 1 = 15).

Bir məlumat faylını ikili formatda nəzərdən keçirsək, bu, tamamilə böyük və demək olar ki, hissi yarada bilməyəcəkdir.

İkili diaqramdan sonrakı addım seksiyaldır, baza nömrəsi 8 olaraq istifadə olunur.

24 16 8 1
0 1 1 0

Bir səkkiz sistemdə birinci sütun 0-dan 7-ə, ikinci sütun 8-dən 15-ə, üçüncü sütun 16-dan 23 -ə, dördüncü sütun 24-dən 31-ə və s. Çoxluğun ikincilindən daha çox oxumaq ümumiyyətlə daha asan olsa da onaltılıq istifadə etməyi üstün tutur.

Hexadecimal, əsas sayı olaraq 16 istifadə edir. İndi bu, çaşqın vəziyyətə gəldiyi yerdir, çünki insanlar biz 0dan 9-a kimi ədədləri düşünürük.

Beləliklə, 10, 11, 12, 13, 14, 15 istifadə olunur? Cavab məktubdur.

Buna görə də 100-in dəyəri 64-dir. Siz 16-cı sütundan 6-a ehtiyac duyacaqsınız.

Bir fayldakı bütün simvollar onaltılıq dəyərlə göstəriləcək. Bu dəyərlər faylın özünün formatına bağlıdır. Dosyanın formatı, faylın başında saxlanılan hexadecimal dəyərlər ilə ifadə edilir.

Dosyaların başında görünən hexadecimal dəyərlərin sıralamasını bildiyinizdə, faylın hansı formatda olduğunu əl ilə işləyə bilərsiniz. Hex dump bir fayl görüntülenirken, faylın göründüğünde gösterilmeyen gizli karakterleri bulmanıza kömək edə bilərsiniz normal bir mətn redaktoru yükləndi.

Linux istifadə edərək, bir hex dökümü yaratma

Linux istifadə edərək hex dökümü yaratmaq üçün hexdump əmrini istifadə edin.

Terminala hex kimi bir fayl (standart çıxış) göstərmək üçün aşağıdakı əmri çalıştırın:

hexdump filename

Misal üçün

hexdump image.png

Standart çıxdıqda xətt nömrəsini (onaltılıq formatda) və sonra hər satırda 4 hexadecimal dəyərdən 8 dəsti göstərəcək.

Misal üçün:

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

Standart çıxışı dəyişdirmək üçün müxtəlif açarları təmin edə bilərsiniz. Məsələn, mənfi b keçidinin göstərilməsi 8 rəqəmsal ofset, sonra 16 üç sütun, səkkiz dolu, səkkiz formatda giriş məlumatlarının baytları çıxaracaq.

hexdump -b image.png

Buna görə də yuxarıda göstərilən nümunə aşağıdakı kimi təqdim olunacaq:

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

Yuxarıdakı format birbaşa sekizli ekran kimi tanınır.

Dosyayı görüntüləmək üçün başqa bir yol, eksi c keçidini istifadə edərək, bir baytlı xarakterli ekranda.

hexdump -c image.png

Bu yenidən ofsetə baxır, lakin bu dəfə on altı yerdən ayrılmış, üç sütun, hər bir xətt üçün giriş məlumatının boşluqlarını doldurmuşdur.

Digər variantlar arasında minus C açarı və eks-d düyməsini istifadə edərək göstərilə bilən iki bəndli iki ədəd göstərici ilə göstərilə bilən Canonical hex + ascii ekranı daxildir. Minus o keçid iki bayt sekizli ekranı göstərmək üçün istifadə edilə bilər. Nəhayət minux x anahtarı iki bəndli hexadecimal ekranı göstərmək üçün istifadə edilə bilər.

hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump -x image.png

Yuxarıda göstərilən formatlardan heç biri sizin ehtiyaclarınıza cavab vermirsə, formatı göstərmək üçün mənfi e keçidini istifadə edin.

Bir məlumat faylı olduqda çox uzun və yalnız onun ilk növbədə bir neçə simvolunu görmək istədiyinizi görmək üçün -n keçidini hex-də göstərmək üçün faylın nə qədərini göstərmək üçün istifadə edə bilərsiniz.

hexdump -n100 image.png

Yuxarıdakı komanda ilk yüz baytı göstərir.

Dosyanın bir hissəsini atlamaq istəsəniz, mənfi s keçidini istifadə edərək, başlanğıc üçün ofset təyin etmək üçün istifadə edə bilərsiniz.

hexdump -s10 image.png

Bir fayl adı vermirsinizsə, mətn standart girişdən oxunur.

Sadəcə aşağıdakı əmri daxil edin:

hexdump

Sonra mətni mətnə ​​daxil edin və çıxışı yazaraq bitirin. Hex standart çıxışa göstərilir.

Xülasə

Hexdump proqramı açıqca olduqca güclü bir vasitədir və əlbəttə ki, bütün xüsusiyyətləri ilə tutuşa çatmaq üçün dərslik səhifəsini oxumaq lazımdır.

Həm də çıxışınızı oxuduğunuz zaman aradığınız şeyi yaxşı başa düşməlisiniz.

Əl səhifəsini nəzərdən keçirmək üçün aşağıdakı əmrləri yerinə yetirin:

insan hexdump