Вероятно сте запознати с идеята за текстов редактор - Linux има много от тях, както за терминала, така и за работния плот. Изборът на командния ред включва vi и nano, а докато сте на работния плот, има приложения като gedit и Kate. Но какво ще стане, ако трябва да редактирате бинарен файл? Какво можете да използвате? Има един клас редактор, известен като "Hex редактор", който ви позволява да редактирате всеки тип файл, особено двоични файлове.

Hex редакторите получават името си, защото съдържанието на файла се показва главно като шестнадесетични (шестнадесетични) номера. Обикновено броим в база 10, което означава, че всяка цифра (или колона) представлява коефициент 10. Така 123 е 3 единици, 2 партиди от 10 (т.е. 20) и 1 партида от 100 (т.е. 100). Това е страхотно и идеално за това как научаваме математиката като деца, тъй като имаме десет пръста! Един байт на паметта на компютъра или на дисковото хранилище може да представлява число до стойност 255. Проблемът с основата 10 е, че се нуждаете от 3 цифри, за да се покаже 255. Всъщност всъщност не е нужно да представяте стойността в основата 10 .Можете да ги представите в двоичен (т.е. база 2) или в шестнадесетичен (т.е. база 16). В Hex, всяка цифра или колона представлява коефициент 16, а не 10. За да се прави разлика между шестнадесетичните числа и десетичните числа, шестнадесетичните цифри обикновено са префиксирани с "0x". Така че 0x91 не е деветдесет и една, а по-скоро 145. Това са 9 лота от 16 плюс 1. В шестнадесетичен брой числата вървят по следния начин: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, 12 и т.н. Предимството на тази система е, че 255 (максималната стойност на един байт) може да бъде написана като 0xFF (15 партиди от 16 плюс 15).

Шестмесечен редактор използва тези двуцифрени изображения, за да осигури проста мрежа, която лесно може да се навигира, нещо, което би било по-трудно с трицифрени десетични числа.

Има няколко различни редактора за хедс за Linux, а като текстови редактори, някои са предназначени да работят в терминала, а други - от работния плот. Hexcurse е прост текстов редактор на командния ред. За да го инсталирате в Ubuntu, въведете следното в терминал:

 sudo apt-get инсталирате hexcurse 

За да изпробвате hexcurses, въведете следното:

 хексурк / бин / лс 

Това ще стартира програмата и ще зареди бинара "ls", който се намира в "/ bin".

Използвайте клавишите със стрелки, страница нагоре и страница надолу, за да се придвижвате в мрежата с шестнадесетични числа. Ако въведете номер, байтът в тази точка ще бъде променен на въведения от вас номер. Не се опитвайте сега, в противен случай бихте могли да разкъсате командата "/ bin / ls". Ако натиснете TAB, курсорът ще премине към ASCII (текст) и можете да промените стойностите, като въведете нови букви, цифри и символи. Ето списък на основните клавиши за използване на hexcurse:

  • F2 или CTRL + s - Запазване
  • F3 или CTRL + o - Отворете
  • F4 или CTRL + g - Goto
  • F5 или CTRL + f - Намерете
  • F8 или CTRL + q - Изход

Най-добрият начин да експериментирате безопасно с помощта на шестнадесетичен редактор е да редактирате един от вашите собствени файлове (а не системен файл). Използвайте nano, за да създадете проста програма C:

 nano hello.c 

Изрежете и поставете следния код:

 #include main () {printf ("Здравейте, направете по-лесен начин! \ n"); } 

Съставяне на програмата:

 cc -o здравей hello.c 

Сега можете безопасно да извикате hexcurse на получената "hello" двоична. Ако разбиете двоичното, няма значение:

 Здравейте 

Превъртете надолу, докато видите дясната част "Здравейте, направете по-лесно!" В дясната част. Натиснете TAB, за да превключите в ASCII редакция и да се придвижите към думата "Hello". Въведете думата "HELLO". Забележете, че низът се променя в дясната секция, а шестнадесетичните номера се променят в лявата страна. Новите шестнадесетични номера трябва да са "48 45 4C 4C 4F", които са стойностите ASCII за "HELLO".

Сега запазете файла с помощта на "Ctrl + s" и затворете с "Ctrl + q". Вече можете да стартирате бинарното "hello" и ще видите, че продукцията е "HELLO Make Tech Easier!", А не "Hello Make Tech Tech Easier!" Това е така, защото сте редактирали двоичното и сменихте низовете.

ghex е настолен хед-редактор. За да го инсталирате, използвайте:

 sudo apt-get инсталирате ghex 

Той може да бъде стартиран от стартовия панел или от командния ред. За да редактирате двоичния тип "Здравей":

 ghex здравей 

Програмата работи много подобно на "hexcurse". Можете да се придвижвате с клавишите със стрелки, нагоре и надолу. TAB превключва между редактирането на шестоъгълника или текста. "Ctrl + s" запазва файла и т.н. Тъй като това е приложение за компютри, има лента с менюта, в която са изброени другите операции.

Тези инструменти могат да бъдат много мощни, но също така е лесно да корумпирате двоични файлове, така че моля, използвайте ги внимателно. Ако имате някакви въпроси относно "hexcurse" или "ghex", моля, не се колебайте да ги попитате в секцията за коментари и ще видим дали можем да помогнем.