Файл эсвэл Hexdump-ийн текстийг хэрхэн үүсгэх вэ?

Оршил

Альфа хогийн цэг нь өгөгдлийг 16-тын хэмжээсээр харна. Хөтөлбөрийг дибаг хийх эсвэл инженерчийг хөтөлбөрт буцаах үед та арван зургаат хугацааг ашиглахыг хүсэж болох юм.

Жишээ нь, олон файлын форматууд нь тусгай төрөлтэй Hex тэмдэгттэй байдаг. Хэрэв та програмыг ашиглан програмыг уншихыг оролдож байгаа бөгөөд ямар нэг шалтгааны улмаас энэ нь зөв ачаалаагүй байгаа бол файл нь таны хүлээж буй хэлбэрт ороогүй байж магадгүй юм.

Хэрэв та програм хэрхэн ажиллаж байгааг харахыг хүсвэл програмын эх код эсвэл программ хангамжийг кодоороо сэргээхийг хүсч байгаа бол та ялган кодыг хайж, юу болж байгааг мэдэж болно.

Гипераксимал гэж юу вэ?

Компьютер хоёртын хэлбэртэй гэж боддог. Тэмдэгтэн, тоо, билэг тэмдэг бүрийг хоёртын эсвэл олон давхартын утгуудаар ишлэнэ.

Хүн төрөлхтөн аравтын бутархайгаар бодох хандлагатай байдаг.

Мянга мянган Олон зуун Арван хэдэн Нэгж
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-р давтахдаа 2-р баганад 1-г, 1-р баганад 0-ийг хийнэ. 4-р дүрслэхийг хүсч байгаа бол 4 багананд 1-ийг тавьж, 2 ба 1-р баганыг дахин тохируулна уу.

Тэгэхээр 15-г төлөөлөхийн тулд та 1111, 1 дөрөв, 1 хоёр, 1 гэсэн утгатай байх болно. (8 + 4 + 2 + 1 = 15).

Хэрэв бид хоёртын форматаар өгөгдлийн файлыг үзсэн бол энэ нь асар их асар их байх бөгөөд ойлгох бараг боломжгүй юм.

Хоёртын дараагийн алхам нь octal бөгөөд 8 дугаарыг үндсэн дугаар болгон ашигладаг.

24 16 8 1
0 1 1 0

Octal системд эхний баганад 0-ээс 7, хоёр дахь багана 8-15, гурав дахь баган 16-аас 23, дөрөв дэх багана 24-ээс 31 гэх мэт. Хоёртын хэмжээсээс илүү уншихад хялбар байдаг. Ихэнх хүмүүс арван зургаат хугацааг ашиглахыг илүүд үздэг.

Гипераконимашин нь 16 дугаарыг суурь дугаар болгон ашигладаг. Хүмүүс бид 0-ээс 9 хүртэлх тоо гэж боддог тул энэ нь төөрөгдүүлж байна.

Тэгэхээр 10, 11, 12, 13, 14, 15 гэж юу вэ? Хариулт нь захидал.

Тэгэхээр 100 гэсэн утга нь 64-тэй тэнцүү. Та нэгжийн баганад 100-г гаргахад 96-ыг 4-ээр авч 4-ээр үүсгэсэн 16-н баганын 6-т хэрэгтэй болно.

Файлын бүх тэмдэгтүүд нь арван зургаатын утгатай байна. Эдгээр утгууд нь файлын форматаас хамаарна гэсэн үг юм. Файлын форматыг файлын эхэнд хадгалагддаг гексаримум утгуудаар тэмдэглэнэ.

Файлын эхэнд байгаа арван зургаатын утгын дарааллын талаар мэдлэгтэй бол файлын ямар форматыг гараар хийж болно. Альфа-ийн хогийн цэгт файлыг олж харж чаддаг бол файлыг харахад харагдахгүй тэмдэгтүүдийг олоход тусална. хэвийн текст засварлагч уруу ачаалах болно.

Линукс ашиглахын тулд Hex хаягдлыг хэрхэн үүсгэх талаар

Линукс ашиглан hex dump үүсгэхийн тулд hexdump тушаалыг ашиглана уу.

Терминал (стандарт гаралт) уруу файлыг hex болгон дэлгэцэнд гаргахын тулд дараах тушаалыг ажиллуулна:

hexdump файлын нэр

Жишээлбэл

hexdump image.png

Анхдагч гаралт нь мөрийн дугаарыг (16-тын форматаар) харуулдаг бөгөөд нэг мөртөө 16-тын 4-н тоо толгойг харуулна.

Жишээлбэл:

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

Та анхдагч гаралтыг өөрчлөх янз бүрийн унтраалгуудыг нийлүүлж болно. Жишээ нь хасах b шилжүүлэлтийг зааж өгснөөр 8 оронтой офсетийг 16 тэмдэгт, гурван багана, дүүргэлтийн тэг, оролтын өгөгдөл octal хэлбэрээр гаргах болно.

hexdump -b image.png

Тиймээс дээрх жишээг одоо дараах байдлаар илэрхийлнэ:

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

Дээрх форматыг нэг байт octal дэлгэц гэж нэрлэдэг.

Файлыг харах өөр нэг арга нь хасах квотыг ашиглан нэг байтын тэмдэгтийн дэлгэцтэй байна.

hexdump -c image.png

Энэ нь офсетыг дахин харуулдаг боловч энэ удаа дараа нь 16 зайгаар тусгаарлагдсан, гурван багана, мөрөнд оролтын өгөгдлийн зай дүүрсэн байна.

Бусад сонголтууд гэвэл хасах С шилжүүлэгч болон хасах хоёр удаа аравтын дэлгэц ашиглан харуулах Canonical hex + ascii дэлгэцийг агуулна. Үүнийг minus d switch ашиглан харж болно. Хасах o шилжүүлэгчийг хоёр байт octal дэлгэцийг харуулахад ашиглаж болно. Эцэст нь minux x switch хоёртын байткимат дэлгэцийг харуулахад ашиглаж болно.

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