Du er formentlig bekendt med forestillingen om en teksteditor - Linux har mange af dem, både til terminalen og på skrivebordet. Kommandolinjens valg omfatter vi og nano, og på skrivebordet findes der applikationer som gedit og kate. Men hvad nu hvis du skal redigere en binær fil? Hvad kan du bruge? Der er en klasse af editor kendt som en "Hex editor", som giver dig mulighed for at redigere enhver type fil, især binære filer.

Hex redaktører får deres navn, fordi indholdet af filen primært vises som hexadecimale (hex) tal. Vi tæller normalt i base 10, hvilket betyder, at hvert ciffer (eller kolonne) repræsenterer en faktor på 10. Så 123 er 3 enheder, 2 partier af 10 (dvs. 20) og 1 parti 100 (dvs. 100). Det er fantastisk og perfekt til, hvordan vi lærer matematik som børn, da vi har ti fingre! En byte af computerhukommelse eller disklagring kan repræsentere et tal op til værdien 255. Problemet med base 10 er, at du har brug for 3 cifre til at vise 255. Du skal dog ikke repræsentere værdien i base 10 . Du kan repræsentere dem i binær (dvs. base 2) eller i hexadecimal (dvs. base 16). I Hex repræsenterer hvert ciffer eller en kolonne en faktor på 16 og ikke 10. For at skelne mellem hex-tal og decimaltal er hexadecimaler normalt prefixet med "0x." Så 0x91 er ikke enoghalvfems, men heller 145. Det er 9 partier på 16 plus 1. I hex går tallene således: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12 og så videre. Fordelen ved dette system er, at 255 (den maksimale værdi af en byte) kan skrives som 0xFF (15 partier på 16 plus 15).

En hex-editor bruger disse tocifrede repræsentationer til at give et simpelt gitter, der nemt kan navigere, noget, der ville være sværere med 3-cifrede decimaltal.

Der er flere forskellige hex redaktører til rådighed for Linux, og ligesom tekstredaktører er nogle designet til at arbejde i terminalen og andre fra skrivebordet. Hexcurse er en simpel kommandolinje tekst editor. For at installere det på Ubuntu skal du skrive følgende i en terminal:

 sudo apt-get install hexcurse 

For at afprøve hexcurses skal du skrive følgende:

 hexcurse / bin / ls 

Det vil starte programmet og indlæse det "ls" binære, der findes i "/ bin".

Brug piletasterne, side op og side ned for at navigere rundt på nettet af hex-numre. Hvis du skriver et nummer, ændres byten på det tidspunkt til det nummer, du indtastede. Forsøg ikke dette nu, ellers kan du bryde kommandoen "/ bin / ls". Hvis du trykker på TAB, hopper markøren på ASCII-siden (tekst), og du kan ændre værdier ved at indtaste nye bogstaver, tal og symboler. Her er en liste over de vigtigste nøgler til brug af hexcurse:

  • F2 eller CTRL + s - Gem
  • F3 eller CTRL + o - Åben
  • F4 eller CTRL + g - Goto
  • F5 eller CTRL + f - Find
  • F8 eller CTRL + q - Afslut

Den bedste måde at eksperimentere sikkert på med en hex-editor er at redigere en af ​​dine egne filer (og ikke en systemfil). Brug nano til at oprette et simpelt C-program:

 nano hej.c 

Klip og indsæt i følgende kode:

 #include main () {printf ("Hej gør det lettere! \ n"); } 

Kompilere programmet:

 cc -o hej hej.c 

Nu kan du trygt påkalde hexcurse på den resulterende "hej" binære. Hvis du bryder binæret, er det ligegyldigt:

 hexcurse hej 

Rul ned, indtil du ser snoren "Hej gør det lettere!" I højre side. Tryk på TAB for at skifte til ASCII redigering og navigere til ordet "Hej." Skriv ordet "HELLO." Bemærk at snoren ændres i højre side, og hex-tallene ændres i venstre side. De nye hex-numre skal være "48 45 4C 4C 4F", som er ASCII-værdierne for "HELLO".

Gem nu filen ved hjælp af "Ctrl + s" og afslut med "Ctrl + q". Du kan nu køre "hej" binær og du vil se, at udgangen er "HELLO Make Tech Easier!" Og ikke "Hej gør det lettere!" Dette skyldes, at du redigerede binæret og ændrede strengen.

ghex er en desktop hex editor. For at installere det skal du bruge:

 sudo apt-get install ghex 

Det kan startes fra launcher eller fra kommandolinjen. For at redigere "hej" binær type:

 ghex hej 

Programmet fungerer på en meget lignende måde som "hexcurse". Du kan navigere med piletasterne, side op og side ned. TAB skifter mellem redigering af hex eller tekst. "Ctrl + s" gemmer filen og så videre. Da det er en desktop-app, er der en menulinje, som viser de andre operationer.

Disse værktøjer kan være meget kraftige, men det er også nemt at ødelægge binære filer, så brug dem med omhu. Hvis du har spørgsmål om "hexcurse" eller "ghex", så er du velkommen til at spørge dem i kommentarfeltet, og vi vil se, om vi kan hjælpe.