כיצד ליצור Hexdump של קובץ או מחרוזת של טקסט

מבוא

מזבלה hex היא תצוגה הקסדצימלית של הנתונים. ייתכן שתרצה להשתמש הקסדצימלי כאשר באגים תוכנית או להנדס לאחור תוכנית.

לדוגמה, לפורמטים רבים של קבצים יש תו hex ספציפי לציון סוגם. אם אתה מנסה לקרוא קובץ באמצעות תוכנית ומסיבה כלשהי זה לא נטען כראוי, זה יכול להיות כי הקובץ אינו בפורמט שאתה מצפה.

אם אתה רוצה לראות איך התוכנית עובדת ואין לך את קוד המקור או חתיכת תוכנה אשר מהנדסים לאחור את הקוד, אתה יכול להסתכל על dx hex לנסות ולנסות להבין מה קורה.

מה זה הקסדצימלי?

מחשבים חושבים בינארי . כל תו, מספר וסמל מופנים לערכים בינאריים בינאריים או מרובים.

בני אדם, לעומת זאת, נוטים לחשוב עשרוני.

אלפים מאות עשרות יחידות
1 0 1 1

כבני אדם, המספרים הנמוכים ביותר שלנו נקראים יחידות ומייצגים את המספרים 0 עד 9. כשאנחנו מגיעים ל -10 אנחנו מאפסים את העמודות בחזרה ל -0 ומוסיפים 1 לעמודת עשרות (10).

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 8, 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.

כל התווים בקובץ יסומנו על ידי ערך הקסדצימלי. משמעותם של ערכים אלה תלויה בפורמט של הקובץ עצמו. הפורמט של הקובץ מסומן על ידי ערכים הקסדצימליים המאוחסנים בדרך כלל בתחילת הקובץ.

עם הידע של רצף של ערכים הקסדצימליים המופיעים בתחילת קבצים, אתה יכול באופן ידני להבין איזה פורמט הקובץ פנימה הצגת קובץ ב hex dump יכול לעזור לך למצוא תווים מוסתרים שאינם מוצגים כאשר הקובץ טעון לתוך עורך טקסט רגיל.

כיצד ליצור dex hex באמצעות לינוקס

כדי ליצור dx hex באמצעות לינוקס להשתמש הפקודה hexdump.

כדי להציג קובץ בשם hex למסוף (פלט סטנדרטי), הפעל את הפקודה הבאה:

שם קובץ hexdump

לדוגמה

hexdump image.png

פלט ברירת המחדל יציג את מספר השורה (בפורמט הקסדצימלי) ולאחר מכן 8 סטים של 4 ערכים הקסדצימליים בכל שורה.

לדוגמה:

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

באפשרותך לספק מתגים שונים כדי לשנות את פלט ברירת המחדל. לדוגמה, המפרט את מתג מינוס 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

זה שוב מציג את היסט אבל הפעם ואחריו שש עשרה שטח מופרדים, שלוש עמודות, שטח מלא תווים של נתוני קלט לכל שורה.

אפשרויות אחרות כוללות תצוגה קסנית hex + ascii אשר ניתן להציג באמצעות מתג מינוס C תצוגת עשרוני בייט שני שניתן להציג באמצעות הבורר מינוס d. ניתן להשתמש בתג מינוס o כדי להציג תצוגה אוקטלית של שני בתים. לבסוף, ניתן להשתמש בתג ה- minux x כדי להציג תצוגת הקסדצימלי דו-בייט.

hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump -x image.png

אם אף אחד מהפורמטים שלעיל לא מתאים לצרכיך, השתמש בתג מינוס e כדי לציין את הפורמט.

אם אתה יודע קובץ הנתונים הוא ארוך מאוד ואתה רק רוצה לראות את התווים הראשונים כדי לקבוע את סוג אתה יכול להשתמש בבורר -n כדי לציין כמה של הקובץ להציג hex.

hexdump -n100 image.png

הפקודה הנ"ל מציגה את מאה הבתים הראשונים.

אם אתה רוצה לדלג על חלק של הקובץ אתה יכול להשתמש ב מינוס את הבורר כדי להגדיר לקזז כדי להתחיל מ.

hexdump -s10 image.png

אם אתה לא מספק שם קובץ הטקסט הוא קרא מן הקלט הסטנדרטי.

כל שעליך לעשות הוא להזין את הפקודה הבאה:

hexdump

לאחר מכן הזן את הטקסט לתוך קלט רגיל וסיים על ידי הקלדת quit. הקסדצימלי יוצג לפלט הסטנדרטי.

סיכום

השירות hexdump הוא ללא ספק כלי חזק למדי ואתה בהחלט צריך לקרוא את הדף ידנית כדי להגיע באופן מלא אחיזה עם כל התכונות.

אתה גם צריך הבנה טובה של מה שאתה מחפש בעת קריאת הפלט.

כדי להציג את הדף הידני הפעל את הפקודה הבאה:

האיש הקסדום