چگونه یک هگز دیپ از یک فایل یا رشته متن ایجاد کنید

معرفی

ردیف شش ضلعی یک شصت و هشتاد و یک دیتا است. شما ممکن است بخواهید از هگزادسیمال هنگام اشکال زدن یک برنامه یا معکوس کردن یک برنامه استفاده کنید.

به عنوان مثال، بسیاری از فرمت های فایل دارای کاراکترهای شانسی خاص برای نشان دادن نوع آنها است. اگر میخواهید یک پرونده را با استفاده از یک برنامه بخوانید و به دلایلی آن را به درستی بارگیری نکنید، احتمالا فایل در فرمت شما انتظار نیست.

اگر می خواهید ببینید که برنامه چگونه کار می کند و شما کد منبع یا قطعه ای از نرم افزار را که کد را معکوس می کند، ندارید، می توانید به رها کردن هگزا نگاه کنید تا سعی کنید کارهایی را که اتفاق می افتد انجام دهید.

هگزادسیمال چیست؟

کامپیوترها در دودویی فکر میکنند هر علامت، عدد و نماد با مقادیر باینری یا چندگانه باینری ارجاع می شود.

انسانها، با این حال، تمایل دارند در دهدهی فکر کنند.

هزاران نفر صدها نفر ده ها واحدها
1 0 1 1

به عنوان انسان، کمترین اعداد ما واحد هستند و اعداد 0 تا 9 را نشان می دهند. وقتی ما به 10 می رسیم، ستون واحدها را به 0 بازنشانی می کنیم و ستون 10 را به 1 اضافه می کنیم.

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

در باینری، کمترین تعداد فقط 0 و 1 را نشان می دهند. وقتی که ما از 1 گذشته است، ما 1 را در ستون 2 و 0 در 1 ستون قرار می دهیم. وقتی میخواهید 4 را وارد کنید، 1 را در 4 ستون قرار داده و ستون 2 و 1 را بازنشانی میکنید.

بنابراین برای نشان دادن 15 شما 1111 دارید که عبارت است از 1 هشت، 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 نشان داده شده است. شما باید از 6 ستون 16s که 96 را به ارمغان می آورد و سپس 4 ستون واحد را به 100 تبدیل کنید.

تمام کاراکترهای یک فایل با مقدار هگزادسیمال مشخص می شود. آنچه این ارزش ها به معنی بستگی به فرمت فایل دارد. فرمت فایل با مقادیر هگزادسیمال است که معمولا در ابتدای فایل ذخیره می شوند.

با شناخت دنباله ای از مقادیر هگزادسیمال که در ابتدای فایل ها ظاهر می شود، می توانید به صورت دستی کار کنید که چه فرمت ای فایل است. مشاهده یک فایل در یک رشته شش سکه می تواند به شما در پیدا کردن شخصیت های مخفی که در هنگام نمایش فایل نشان داده نشود لود شده به یک ویرایشگر متن معمولی.

چگونگی ایجاد یک شبیه سازی با استفاده از لینوکس

برای استفاده از لینوکس با استفاده از لینوکس از دستور hexdump استفاده کنید.

برای نمایش یک فایل به عنوان hex به ترمینال (خروجی استاندارد) دستور زیر را اجرا کنید:

نام فایل hexdump

مثلا

hexdump image.png

خروجی پیش فرض شماره خط (در فرمت هگزادسیمال) و سپس 8 مجموعه از 4 مقدار هگزادسیمال در هر خط نمایش داده می شود.

مثلا:

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

شما می توانید سوئیچ های مختلف را برای خروجی پیش فرض تغییر دهید. برای مثال مشخص کردن سوئیچ minus b یک عدد 8 رقمی با پسوند 16 سه ستون، صفر پر شده، بایت داده های ورودی در فرمت اکتال تولید می کند.

hexdump-b image.png

بنابراین مثال بالا اکنون به صورت زیر نمایش داده می شود:

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

فرمت بالا به عنوان یک بایت یک صفحه هشتم شناخته می شود.

راه دیگری برای مشاهده فایل در یک بایت نمایش یک بایت با استفاده از کلید منهای c است.

hexdump -c image.png

این دوباره افست را نمایش می دهد، اما این بار به دنبال شانزده فضای جدا شده، سه ستون، کاراکترهای فضا پر شده از داده های ورودی در هر خط است.

گزینه های دیگر عبارتند از Canonical hex + ascii display که می تواند با استفاده از کلید منهای C و نمایش دو بعدی با دقت نمایش داده شود که می تواند با استفاده از کلید minus d نمایش داده شود. منهای سوئیچ را می توان برای نمایش دو بایت صفحه نمایش هشت ساله استفاده کرد. در نهایت، سوئیچ minux x می تواند برای نمایش دو بایت صفحه نمایش هگزادسیمال استفاده شود.

hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump-x image.png

اگر هیچ کدام از فرمت های فوق با نیازهای شما منطبق نباشند، از منوی سوئیچ برای مشخص کردن فرمت استفاده کنید.

اگر شما می دانید یک فایل داده بسیار طولانی است و شما فقط می خواهید برای دیدن چند کاراکتر اول برای تعیین نوع آن شما می توانید از کلید -n استفاده کنید تا مشخص کنید کدام فایل برای نمایش در شش برابر باشد.

hexdump -n100 image.png

دستور بالا اولین صد بایت را نمایش می دهد.

اگر بخواهید بخشی از فایل را از حالت فشرده خارج کنید، می توانید از کلید minus s استفاده کنید تا عدد صفر شروع شود.

hexdump -s10 image.png

اگر نام یک فایل را ارائه ندهید، متن از ورودی استاندارد خواندنی است.

به سادگی دستور زیر را وارد کنید:

hexdump

سپس متن را به ورودی استاندارد وارد کنید و با تایپ تایپ کردن پایان دهید. hex به خروجی استاندارد نمایش داده می شود.

خلاصه

ابزار hexdump بدیهی است که ابزار نسبتا قدرتمند است و شما قطعا باید صفحه کتابچه راهنمای کاربر را به طور کامل به دست گرفتن تمام ویژگی های.

در هنگام خواندن خروجی نیز به درک خوبی از آنچه که دنبال می کنید نیاز دارید.

برای مشاهده صفحه دستی ، دستور زیر را اجرا کنید:

مرد hexdump