Bruke en Hex Editor på Linux
Du er sikkert kjent med begrepet en tekstredigerer - Linux har mange av dem, både for terminalen og på skrivebordet. Kommandolinjevalgene inkluderer vi og nano, og mens du er på skrivebordet, er det programmer som gedit og Kate. Men hva om du trenger å redigere en binær fil? Hva kan du bruke? Det er en klasse av redaktør kjent som en "Hex editor" som lar deg redigere alle typer filer, spesielt binære filer.
Hex-redaktører får navnet sitt fordi innholdet i filen primært vises som heksadesimale (heks) tall. Vi teller normalt i base 10, noe som betyr at hvert siffer (eller kolonne) representerer en faktor på 10. Så 123 er 3 enheter, 2 mange 10 (dvs. 20) og 1 masse 100 (dvs. 100). Det er flott og perfekt for hvordan vi lærer matematikk som barn siden vi har ti fingre! En byte av datamaskinminne eller disklagring kan representere et tall opp til verdien av 255. Problemet med base 10 er at du trenger 3 sifre til å vise 255. Du trenger imidlertid ikke å representere verdien i basis 10 . Du kan representere dem i binær (dvs. base 2) eller i hexadecimal (dvs. base 16). I Hex representerer hvert siffer eller en kolonne en faktor på 16 og ikke 10. For å skille mellom tall og desimaltall, er hexadecimaler vanligvis prefixed med "0x." Så 0x91 er ikke nitti, men heller 145. Det er 9 mange av 16 pluss 1. I hex, går tallene slik: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12 og så videre. Fordelen med dette systemet er at 255 (maksimalverdien av en byte) kan skrives som 0xFF (15 mange 16 pluss 15).
En hex-redaktør bruker disse tosifrede representasjonene for å gi et enkelt rutenett som enkelt kan navigere, noe som ville være vanskeligere med 3-sifrede desimaltall.
Det finnes flere forskjellige hex-redigeringsprogrammer tilgjengelige for Linux, og som tekstredigerere, er noen laget for å fungere i terminalen og andre fra skrivebordet. Hexcurse er en enkel kommandolinje tekstredigerer. For å installere den på Ubuntu, skriv følgende i en terminal:
sudo apt-get install hexcurse
For å prøve ut hexcurses, skriv inn følgende:
hexcurse / bin / ls
Det vil starte programmet og laste "ls" binært som finnes i "/ bin".
Bruk piltastene, siden opp og siden ned for å navigere rundt rutenettet på hex-tall. Hvis du skriver inn et nummer, endres byten på det punktet til nummeret du skrev inn. Ikke prøv dette nå, ellers kan du bryte kommandoen "/ bin / ls". Hvis du trykker på TAB, hopper markøren til ASCII-siden (tekst), og du kan endre verdier ved å skrive inn nye bokstaver, tall og symboler. Her er en liste over viktige nøkler for bruk av hexcurse:
- F2 eller CTRL + s - Lagre
- F3 eller CTRL + o - Åpne
- F4 eller CTRL + g - Goto
- F5 eller CTRL + f - Finn
- F8 eller CTRL + q - Avslutt
Den beste måten å eksperimentere trygt ved hjelp av en hex-editor er å redigere en av dine egne filer (og ikke en systemfil). Bruk nano til å lage et enkelt C-program:
nano hallo.c
Klipp og lim inn i følgende kode:
#include main () {printf ("Hei gjør det enklere! \ n"); }
Kompilere programmet:
cc -o hei hei.c
Nå kan du trygt påkalle hexcurse på den resulterende "hei" binære. Hvis du bryter binæret, spiller det ingen rolle:
heksekurse hallo
Rull ned til du ser strengen "Hello Make Tech Easier!" I høyre del. Trykk på TAB for å bytte til ASCII-redigering og naviger til ordet "Hello." Skriv ordet "HELLO." Merk at strengen endres i høyre del og hex-tallene endres på venstre side. De nye hex-tallene skal være "48 45 4C 4C 4F" som er ASCII-verdiene for "HELLO".
Lagre filen ved å bruke "Ctrl + s", og avslutt med "Ctrl + q". Du kan nå kjøre "hei" binær og du vil se at utdataene er "HELLO Make Tech Easier!" Og ikke "Hello Make Tech Easier!" Dette er fordi du redigerte binæret og endret strengen.
ghex er en desktop hex editor. For å installere det, bruk:
sudo apt-get install ghex
Det kan startes fra lanseringen eller fra kommandolinjen. For å redigere "hei" binær type:
ghex hallo
Programmet fungerer på en veldig lignende måte som "hexcurse". Du kan navigere med piltastene, siden opp og siden ned. TAB bytter mellom redigering av heksen eller teksten. "Ctrl + s" lagrer filen og så videre. Siden det er en stasjonær app, er det en menylinje som viser de andre operasjonene.
Disse verktøyene kan være svært kraftige, men det er også enkelt å korruptere binære filer, så vær så snill å bruke dem med forsiktighet. Hvis du har spørsmål om "hexcurse" eller "ghex", vær så snill å spørre dem i kommentarfeltet og vi vil se om vi kan hjelpe.