Du är förmodligen bekant med begreppet textredigerare - Linux har många av dem, både för terminalen och på skrivbordet. Kommandoradsalternativen inkluderar vi och nano, och på skrivbordet finns det applikationer som gedit och kate. Men vad händer om du behöver redigera en binär fil? Vad kan du använda? Det finns en klass av redaktör som kallas en "Hex editor" som låter dig redigera vilken typ av fil som helst, särskilt binära filer.

Hexredigerare får sitt namn eftersom innehållet i filen huvudsakligen visas som hexadecimala (hex) nummer. Vi räknar vanligtvis i bas 10, vilket betyder att varje siffra (eller kolumn) representerar en faktor på 10. Så 123 är 3 enheter, 2 partier 10 (dvs. 20) och 1 parti 100 (dvs. 100). Det är bra och perfekt för hur vi lär oss matematik som barn eftersom vi har tio fingrar! En byte av datorminne eller disklagring kan representera ett tal upp till värdet 255. Problemet med bas 10 är att du behöver 3 siffror för att visa 255. Du behöver dock inte faktiskt representera värdet i bas 10 Du kan representera dem i binär (dvs. bas 2) eller i hexadecimal (dvs. bas 16). I hex representerar varje siffra eller kolumn en faktor 16 och inte 10. För att skilja mellan hex-siffror och decimaltal, är hexadecimaler normalt prefixed med "0x." Så 0x91 är inte nittio, utan snarare 145. Det är 9 delar av 16 plus 1. I hex går siffrorna så här: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12 och så vidare. Fördelen med detta system är att 255 (det maximala värdet av en byte) kan skrivas som 0xFF (15 massor av 16 plus 15).

En hex-redaktör använder dessa tvåsiffriga representationer för att ge ett enkelt rutnät som enkelt kan navigera, något som skulle vara svårare med 3-siffriga decimaltal.

Det finns flera olika hex redaktörer tillgängliga för Linux, och som textredigerare är vissa utformade för att fungera i terminalen och andra från skrivbordet. Hexcurse är en enkel kommandorads textredigerare. För att installera den på Ubuntu skriver du följande i en terminal:

 sudo apt-get install hexcurse 

Om du vill prova hexcurses skriver du följande:

 hexcurse / bin / ls 

Det kommer att starta programmet och ladda "ls" binärt som finns i "/ bin".

Använd piltangenterna, sidan upp och sidan ner för att navigera runt rutnätet med hex-nummer. Om du skriver ett nummer ändras byte vid den punkten till det nummer du angav. Försök inte detta nu, annars kan du bryta kommandot "/ bin / ls". Om du trycker på TAB, kommer markören att hoppa till sidan ASCII (text) och du kan ändra värden genom att ange nya bokstäver, siffror och symboler. Här är en lista över de viktigaste nycklarna för att använda hexcurse:

  • F2 eller CTRL + s - Spara
  • F3 eller CTRL + o - Öppna
  • F4 eller CTRL + g - Goto
  • F5 eller CTRL + f - Hitta
  • F8 eller CTRL + q - Exit

Det bästa sättet att experimentera säkert med en hex-redigerare är att redigera en av dina egna filer (och inte en systemfil). Använd nano för att skapa ett enkelt C-program:

 nano hallo.c 

Klipp och klistra in i följande kod:

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

Kompilera programmet:

 cc -o hej hej.c 

Nu kan du säkert påkalla hexcurse på den resulterande "hej" binära. Om du bryter binäret spelar det ingen roll:

 hexcurse hej 

Bläddra ner tills du ser strängen "Hej göra tekniken enklare!" I den högra delen. Tryck på TAB för att växla till ASCII-redigering och navigera till ordet "Hello." Skriv ordet "HELLO." Observera att strängen ändras i den högra delen och hex-numren ändras på vänster sida. De nya hex-numren ska vara "48 45 4C 4C 4F" som är ASCII-värdena för "HELLO".

Spara nu filen med "Ctrl + s" och avsluta med "Ctrl + q". Du kan nu köra "hej" binär och du kommer att se att utmatningen är "HELLO Make Tech Easier!" Och inte "Hej gör Tech enklare!" Detta beror på att du redigerade binären och ändrade strängen.

ghex är en desktop hex editor. För att installera det, använd:

 sudo apt-get install ghex 

Det kan startas från startprogrammet eller från kommandoraden. För att redigera "hej" binär typ:

 ghex hej 

Programmet fungerar på ett mycket liknande sätt som "hexcurse". Du kan navigera med piltangenterna, sidan upp och sidan neråt. TAB växlar mellan att redigera hexen eller texten. "Ctrl + s" sparar filen och så vidare. Eftersom det är en stationär app, finns en menyrade som listar de andra operationerna.

Dessa verktyg kan vara mycket kraftfulla, men det är också lätt att korrumpera binära filer, så var vänlig använd dem noggrant. Om du har några frågor om "hexcurse" eller "ghex", var snäll och fråga dem i kommentarfältet och vi kommer se om vi kan hjälpa till.